Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: grimmerk/codev
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
Loading
...
head repository: grimmerk/codev
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: feat/worktree-launch
Choose a head ref
Loading
Checking mergeability… Don’t worry, you can still create the pull request.
  • 4 commits
  • 9 files changed
  • 2 contributors

Commits on Apr 27, 2026

  1. feat: launch Claude session as git worktree from Projects tab

    - New ⌘+Shift+Enter shortcut on a project → opens a small dialog
     for an optional branch name. With a name we run
     `claude -w "<name>" -n "<name>"` in the configured terminal.
    - The `-n` flag is critical: it sets a Claude session custom
     title so the Sessions tab can switch back to the right tab in
     Ghostty (which has no per-tab TTY exposure). Without it,
     worktree and main-repo terminals share the same cwd and
     AppleScript first-match-wins picks the wrong tab.
    - Added parseWorktreePath() helper + isWorktree / parentRepo
     fields on ClaudeSession. Worktree sessions display as the
     parent repo name with a small WT badge, instead of the
     worktree folder name (e.g. "codev WT" not "test-worktree-4").
    - Fixed Ghostty switch AppleScript: `activate` is now inside
     the match success branch, so we no longer surface the wrong
     Ghostty window when no tab matches. This benefits all
     session switches, not only worktrees.
    - Updated README + design doc + changelog. Version 1.0.75.
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    grimmerk and claude committed Apr 27, 2026
    Configuration menu
    Copy the full SHA
    7dc2e63 View commit details
    Browse the repository at this point in the history
  2. fix: address PR #119 reviewer comments

    - Critical: validate worktreeName before shell interpolation.
     isValidWorktreeName() rejects shell metacharacters and bad
     branch-name patterns. Validated at three layers:
     * dialog input (visual error + Launch button disabled)
     * IPC handler (defense in depth)
     * launchNewClaudeSession (defense in depth)
    - Major: dialog now traps keydown + click events so background
     shortcuts (Tab, Esc-document, etc.) and project-input refocus
     can't fire while the modal is open. Added role="dialog" +
     aria-modal for a11y.
    - Minor: hint text now includes Shift+Enter (Codev embedded
     terminal) so it's discoverable next to the worktree shortcut.
    - Docs: noted the IDE/git-GUI clutter trade-off of nested
     worktrees, that A and B aren't mutually exclusive, and that
     -n becomes optional once Ghostty exposes per-tab TTY.
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    grimmerk and claude committed Apr 27, 2026
    Configuration menu
    Copy the full SHA
    160a159 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1f3323b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5545f31 View commit details
    Browse the repository at this point in the history
Loading

AltStyle によって変換されたページ (->オリジナル) /