claudewheel v0.20.1 /claudewheel.launch
Edit
On this page

Launch logic for resolving selections into a Claude Code invocation.

#claudewheel.launch

#claudewheel.launch

Map TUI selections to binary path, env vars, flags, and exec.

#fetch_gh_token

python
def fetch_gh_token(account: str) -> str | None

Fetch GH token live via gh CLI. Returns None on failure.

#resolve_launch_config

python
def resolve_launch_config(selections: dict[str, str | None], options_def: dict, default_flags: list[str], extra_flags: list[str] | None=None, metadata: dict[str, dict[str, dict]] | None=None) -> tuple[str, list[str], dict[str, str]]

Build (cwd, argv, env) for os.execvpe from TUI selections.

Maps segment values to their concrete effects:

  • profile -> CLAUDE_CONFIG_DIR env var (from metadata or options.json)
  • github -> GH_TOKEN env var (fetched live via gh CLI)
  • version -> binary path (under ~/.local/share/claude/versions/)
  • directory -> os.chdir target
  • mcp -> --strict-mcp-config flag (if "strict")
  • permissions -> --dangerously-skip-permissions or --permission-mode=X

When metadata is provided (TUI path), use it for profile/model lookups. When None (skip-TUI path), fall back to reading from options_def.

#do_launch

python
def do_launch(cwd: str, argv: list[str], env: dict[str, str]) -> None

Change to directory and exec Claude Code. Does not return.