Repository navigation
Conversation
At launch Kriyon now checks whether the claude command a new session would run is installed. It looks on the PATH a new session's shell gets, read fresh: the person's shell PATH probed again on macOS, and on Windows the PATH from their environment settings, which the PTY library reads for every new session. So Check again sees a claude installed a minute ago without a restart. Only when nothing is found does the app show an install screen, after the welcome screen. It gives Claude Code's own recommended install command for that computer (from code.claude.com/docs/en/setup), how to confirm it worked, how sign-in happens, and a link to fixing PATH. The active session doesn't start while the screen shows. A PATH that can't be read counts as unknown, never missing, and Continue anyway hides the screen for the run. spawn::on_path only knew the Windows rule, trying each PATHEXT extension. Off Windows a name is now the file itself, and only an executable one counts, as the shell sees it. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
claudecommand a new session would run is installed. This is the Claude CLI check (new glossary term indocs/context/runtime.md).claudeinstalled a minute ago, with no restart.curl -fsSL https://claude.ai/install.sh | bashon Mac,irm https://claude.ai/install.ps1 | iexon Windows, with a Copy button.claude --version), and how sign-in happens.spawn::on_pathonly knew the Windows rule (try eachPATHEXTextension). Off Windows a name is now the file itself, and only an executable one counts. Its existing callers are all Windows-only, so nothing changes for them.src/welcome/screenStyles.ts, so both screens share them.Why
Kriyon runs the user's own
claude. Without it, a new user got a terminal that said "command not found" and no idea what to do next.How I tested it
claude_cli(found, missing, unreadable PATH),spawn::on_path(the Unix rule, plus the Windows rule tested on any OS), theclaudeClistore, andInstallClaudeScreen(Mac and Windows commands, Check again, Continue anyway).pnpm checkpasses.Stacked on #48. After #48 is squash-merged, rebase this branch onto
devand retarget it.Checklist
dev. (It targetsfeat/windowsuntil feat(windows): run Kriyon on Windows #48 merges.)pnpm checkpasses.🤖 Generated with Claude Code