osborn 0.9.204 → 0.9.205

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -192,6 +192,15 @@ export function applyAuthFallback() {
192
192
  process.env.ANTHROPIC_MODEL = FALLBACK_MODEL;
193
193
  process.env.ANTHROPIC_SMALL_FAST_MODEL = FALLBACK_MODEL;
194
194
  process.env.CLAUDE_CODE_SUBAGENT_MODEL = FALLBACK_MODEL;
195
+ // CLAUDE_CODE_SUBAGENT_MODEL only sets the DEFAULT sub-agent slot. Our named
196
+ // sub-agents (researcher/reasoner/writer/tester/planner/reviewer in
197
+ // NAMED_AGENTS) each pin an explicit `model` field (sonnet/opus) which
198
+ // OVERRIDES that default — on a no-Claude machine those aliases resolve to
199
+ // real Anthropic model IDs and 404/fail against OpenRouter. FORCE is the only
200
+ // var that overrides a per-agent model field, pinning EVERY sub-agent to
201
+ // FALLBACK_MODEL. (Evidence: the Claude Code CLI binary logs "Workflow agent
202
+ // model ... ignored: CLAUDE_CODE_SUBAGENT_MODEL_FORCE is set" when set.)
203
+ process.env.CLAUDE_CODE_SUBAGENT_MODEL_FORCE = FALLBACK_MODEL;
195
204
  // Silence the unrecognized-model 200k context cap for kimi-k2.
196
205
  process.env.CLAUDE_CODE_MAX_CONTEXT_TOKENS = '131072';
197
206
  fallbackTierActive = true;
@@ -215,6 +224,11 @@ function clearAuthFallbackIfActive() {
215
224
  // Was forced to '' for the OpenRouter redirect; unset so the real OAuth
216
225
  // token path (CLAUDE_CODE_OAUTH_TOKEN) is used cleanly.
217
226
  delete process.env.ANTHROPIC_API_KEY;
227
+ // Clear the sub-agent model pins too — otherwise a later real-Claude login
228
+ // leaves every named sub-agent forced onto FALLBACK_MODEL. FORCE especially
229
+ // must be unset so the per-agent sonnet/opus fields take effect again.
230
+ delete process.env.CLAUDE_CODE_SUBAGENT_MODEL;
231
+ delete process.env.CLAUDE_CODE_SUBAGENT_MODEL_FORCE;
218
232
  fallbackTierActive = false;
219
233
  console.log('[auth-fallback] real Claude login completed — cleared OpenRouter redirect');
220
234
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "osborn",
3
- "version": "0.9.204",
3
+ "version": "0.9.205",
4
4
  "description": "Voice AI coding assistant - local agent that connects to Osborn frontend",
5
5
  "type": "module",
6
6
  "bin": {