Repository navigation
feat: custom claude launch options per session - #54
Merged
Merged
Conversation
Shift+Enter (or `o` where Shift+Enter isn't distinguishable) on any launch opens a dialog pre-filled with the session's launch options, for extra claude arguments such as --plugin-dir. Plain Enter is unchanged. Options are saved per session and reused on every later launch: in the worktree's meta.json, on the session record, and in a conversation-keyed cache so they survive a terminate and resume. A fork inherits its parent's options, and .fujimoto.yaml gains a project-level `claude_args` default. The session menu gets a "Launch options" item to edit them without launching, and the dialog links to the claude CLI flags docs.
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.
Summary
Launch a session with extra
claudeCLI arguments (e.g.--plugin-dir) without adding a step to every launch.Changes
oon any launch (create flow branch, Launch / Resume / Fork in the session menu, Ad hoc) opens a launch options dialog pre-filled with what the launch would otherwise use. Plain Enter launches as before.claude_argsin.fujimoto/meta.jsonsessions.jsonrecord, plus~/.cache/fujimoto/launch_options.jsonkeyed by Claude conversation id (copied there on terminate).fujimoto.yamlclaude_args→ none. Saving options equal to the project default clears the override, so the session keeps following the config..fujimoto.yamlclaude_args: list or shell-style string; added to the--create-configtemplate.shlex.quoted into the tmux command; resolve/save are instrumented in the debug log (arguments redacted under--debug-redacted).Notes
Shift+Enter is only a distinct key under the kitty keyboard protocol — legacy terminals send plain Enter, and inside tmux the modifyOtherKeys form is dropped — hence the
ofallback.Testing
Full suite passes (1088 tests), including new
tests/test_launch_options.pyand TUI tests for the dialog, the menu item, terminate-keeps-options and fork inheritance.