Provider selection phase removed; Anthropic driver→model_id is now
hardcoded in the script and non-Anthropic profiles supply provider.env
(MODEL_ID, ANTHROPIC_BASE_URL, ANTHROPIC_API_KEY_FILE).
Test suite baseline changes 58 → 41 assertions: the 17 dropped
assertions covered the removed provider-yaml selection phase, not
retained behaviour.
Includes refactor-derived memory: decisions (provider architecture,
driver enforcement via --model), bash gotchas (read -rp under set -e,
never eval user config), process lessons.
Add a warning when ANTHROPIC_BASE_URL would be set but the active profile's
.credentials.json would override ANTHROPIC_API_KEY with subscription OAuth,
routing requests to Anthropic instead of the intended provider.
Fixes the MiniMax routing issue: use --profile minimax (~/.claude-minimax/,
no stored credentials) for non-Anthropic providers.
Update presets example to use profile: minimax for quick-minimax preset.
63 tests passing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduces provider files (`data/claude-profile/providers/*.yaml`) that
bundle model ID, API base URL, API key source, and extra env vars. Phase 2.5
(provider selection) added between mode selection and launch, with a default
derived from the mode's driver field so existing Anthropic usage is unchanged.
Ships 5 providers: anthropic-haiku/sonnet/opus/opus-1m and minimax-sonnet.
MiniMax token decrypted from agent-runtimes SOPS env, stored at
~/.claude-secrets/minimax-auth-token. Adding new providers = one YAML file,
no script changes.
58 dryrun tests passing (up from 37).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- claude-profile: phase 1-3 picker (profile, mode, launch) with preset support,
dryrun, WezTerm theming, and --append-system-prompt mode body injection
- 5 mode files (chat/quick/deep/hybrid/orch) with YAML frontmatter + prose body;
new escalates_to field drives statusline →Opus arrow for deep and hybrid
- statusline.sh reads CLAUDE_CONFIG_DIR/active-mode.env to show
[Sonnet→Opus] deep · topic format when launched via claude-profile
- Root CLAUDE.md session-start: auto-selects project from cwd or CLAUDE_PROJECT
in active-mode.env, skipping the interactive picker when context is clear
- Spec, tests (37 assertions, 9 test files, all passing), context docs, and
preset example included
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
claude-profile now:
- Syncs all repos (git pull --ff-only) before starting a session
- Emits WezTerm user-var escape sequences to trigger profile themes
- Resets terminal theme on session exit via trap
New script sync-repos pulls latest for all git repos under ~/dev/claude
with --dryrun support and color status output.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Utility for switching between Claude Code skill profiles by
managing the ~/.claude/skills symlink target.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>