feat(llm): Anthropic OAuth Bearer auth support - #43
Merged
Merged
Conversation
The token-sync entrypoint.sh was excluded by the wildcard ignore rule, causing Docker build to fail with "not found" error. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a simpler alternative to the full OAuth authorization code flow: admins can paste an OAuth token (from `claude login` or `claude setup-token`) directly in the LLM Config panel. The token is encrypted in the config DB and synced to the shared volume for Ironclaw. The full OAuth client ID/secret flow is preserved under an "Advanced" toggle. Also fixes .dockerignore excluding entrypoint.sh from the Ironclaw build. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Anthropic OAuth tokens (sk-ant-oat*) require Authorization: Bearer + anthropic-beta: oauth-2025-04-20 header instead of x-api-key. - LLM factory: use createClient() to bypass LangChain's apiKey handling for OAuth tokens, passing authToken + beta header directly - AnthropicProvider: auto-detect OAuth tokens by prefix and configure SDK with authToken instead of apiKey - Admin API: use Bearer auth when validating/fetching models with OAuth tokens Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ALuhning
approved these changes
Mar 9, 2026
Replace docked sidebar + per-tab AI panel variants with a single floating, draggable, resizable panel accessible from all tabs via an "AI" button in the top bar. - AIStaffPanel: always renders floating variant (no more docked/floating split) - AIStaffFloating: removed FAB button, added resize handle, close via context - ProblemSetTabContainer: lifted AIStaffProvider to wrap nav bar, added AIActivityButton with unread badge next to Invite button - COPTab: removed agent-status sidebar item (now global) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Override react-d3-tree default label styles to use light text colors that are readable on the dark theme background. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Problem-framing, CoG analysis, LOE gap analysis, and narrative synthesis agents now use createLLMForAgent() with context-aware prompts built from agent character definitions. Each falls back to rule-based stub on error. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds an Override Validation button to the admin dashboard that: - Enables override: reinstates all disabled agents, prevents circuit breaker from auto-disabling agents while active - Disables override: re-enables validation enforcement, triggers a validation run so agents that still fail get disabled again - Requires justification for audit trail, logged as circuit events Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… fix Add AgentTeamComposer component to Design tab AI panel allowing users to augment default section agents with additional agents from the registry. Backend runs supplementary agents in parallel using their character personas. Re-surface document-level agent assignment on Understand tab cards with visible "Assign Agent" button and fix AgentBadges crash on undefined agentId. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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
Authorization: Bearerheader +anthropic-beta: oauth-2025-04-20(matching nearai/ironclaw#384)x-api-keywhich Anthropic rejects with 401Changes
createClient()to bypass LangChain's apiKey handling for OAuth tokenssk-ant-oatprefix and configures SDK withauthTokenTest plan
🤖 Generated with Claude Code