Why I can't add openrouter as provider once done t...
# proj-agent-canvas
t
Why I can't add openrouter as provider once done the initial setup? I saw it during the initial setup but not once Im in the app itself
m
You can use openrouter as provider but with OpenHands agent. You are in the page for the ACP agents, which are subprocess which run other agent types.
You should chose Agent = OpenHands
t
Tried that as well but not sure if its a bug, but it wont let me save this
and can't create a LLM profile because using the active agent or something like that
m
Oh... this is weird... So you started the agent-canvas from scratch and then you are blocked as you can not add an LLM?
t
correct
image.png
m
Let me try to reproduce that
But yes this is a UI dead-lock it seems
t
I did the onboarding choosing ACP Claude code
then im stuck with this
m
@nutritious-balloon-65098 Create an issue in agent-canvas for the bug explained in this thread. Moreover, search for possible solution.
n
I'm on it! Vasco can track my progress here.
Done. I've created the issue and investigated the root cause / possible solutions. Issue created #1913 — Onboarding with ACP (Claude Code) dead-locks LLM/agent setup github.com/OpenHands/agent-canvas/issues/1913 (labels:
bug
,
frontend
,
acp
) What the bug is Picking an ACP agent (Claude Code) during onboarding traps the user in a UI dead-lock — exactly what the Slack thread describes. It's a real, reproducible circular dependency in the code: 1. ACP onboarding creates no LLM profile.
useApplyOnboardingAgentProfile
only saves/activates an ACP
default
agent profile — ACP owns its own LLM, so zero LLM profiles exist afterward. 2. The LLM Profiles page is blocked while ACP is active.
/settings/llm
is flagged
disabledByAcp: true
(
src/constants/settings-nav.tsx
), and the settings
clientLoader
calls
redirectIfAcpActive()
(
src/utils/acp-route-guard.ts
) which redirects
/settings/llm
→
/settings/agents
. 3. Saving an OpenHands agent profile requires an existing LLM profile.
agent-profiles-local-view.tsx
blocks Save with "Create an LLM profile first…" (
SETTINGS$AGENT_PROFILE_NO_LLM
/
SETTINGS$AGENT_PROFILE_LLM_REQUIRED
). → Creating an LLM profile needs the LLM page (blocked by 2); switching to OpenHands needs an LLM profile (blocked by 3). No UI exit. Possible solutions (searched + included in the issue) This is already tracked internally — I cross-linked those: • #1795 — original report of this exact lockout (nearly identical, with the same repro/workaround). • #1907 — proposed fix: "Remove all ACP-based settings greying, disabling, and redirects." • #1888 — related (make chat LLM selector always visible). Recommended fix (matches #1907): an active ACP profile should not disable/redirect settings access — remove
disabledByAcp
and the
redirectIfAcpActive()
guard, keeping ACP checks only where protocol behavior genuinely differs (model selection, request construction). Minimal alternatives: stop guarding
/settings/llm
specifically, or let the OpenHands agent-profile editor create/pick an LLM profile inline. There's also an API workaround (PATCH
agent_settings_diff.agent_kind = "openhands"
, then delete the ACP profile) documented in the issue. Because #1795 and #1907 already cover this, I flagged #1913 as effectively a duplicate that can be merged into them — I did not open a PR or make code changes. I made no code changes and nothing to commit. Would you like me to instead close #1913 and just add this fresh customer report + root-cause analysis as a comment on the existing #1795, or leave the new issue as-is?
t
I want to build an agent like this Vasco! hahah so good
😂 1
you guys have to add more detailed guides, the product is so good but just hard to wrap around the head how the parts work!
m
btw, the agent found a workaround @thankful-shampoo-56362 So you are deblocked for now 😉 just check in the issue
t
crazy good omg
let me try the workaround
worked my friend
m
Cool 🙂
let's open a fix for that
t
but can't seem to find openrouter neither here..
m
give me a moment. Checking one thing
Can you usse the Advanced tab?
t
yeah
m
Copy code
┌────────────────┬───────────────────────────────────────────────┐
│     Field      │                     Value                     │
├────────────────┼───────────────────────────────────────────────┤
│ Authentication │ API Key                                       │
├────────────────┼───────────────────────────────────────────────┤
│ Custom Model   │ openrouter/<author>/<slug>                    │
├────────────────┼───────────────────────────────────────────────┤
│ Base URL       │ leave empty (or <https://openrouter.ai/api/v1>) │
├────────────────┼───────────────────────────────────────────────┤
│ API Key        │ your key from <http://openrouter.ai/keys|openrouter.ai/keys>              │
└────────────────┴───────────────────────────────────────────────┘
t
it seems its working
weird, I remember seeing openrouter when first launching/configuring the app