Skip to content

[BUG]: Free tier (Muse Spark 1.3 Free) fails with 'can only be used from within OpenCode' when using MonoCode frontend with OpenCode backend #49580

Closed as not planned

Description

@yanhenrique-dev

Description

Using MonoCode (desktop UI for coding agents, latest release from hardbeat920/monocode) as frontend with OpenCode backend (opencode auth login done, backend working), any request with free-tier model Muse Spark 1.3 Free fails after ~55s with:

Error from provider (Console): OpenCode's free tier can only be used from within OpenCode

Same backend works from OpenCode TUI/Desktop. This looks like the free-tier client gate described in #49433 (User-Agent opencode/<semver> + x-opencode-session: ses_... checks), but for a different third-party client (MonoCode instead of pi). There is no doc stating free tier is official-client-only, and MonoCode is documented as "Works with your OpenCode login - if OpenCode is installed and logged in, MonoCode can run it".

Related but distinct: #49433 (detailed UA/session gate analysis for pi + -git builds), #49579 / #49438 (same error message, no client details).

Request: clarify if free tier is intended to work from third-party UIs that drive the local OpenCode backend, and if so what headers/client contract they must send. If official-client-only, please state it in docs.

Plugins

No response

OpenCode version

1.18.31 (opencode --version)

Steps to reproduce

  1. opencode auth login (logged in, free tier available)
  2. Install MonoCode latest, select OpenCode as provider/backend
  3. Start session with Muse Spark 1.3 Free (Console provider)
  4. Send prompt, wait ~55s -> Error from provider (Console): OpenCode's free tier can only be used from within OpenCode

Screenshot and/or share link

Error text from UI (same as screenshot in #49579):
Muse Spark 1.3 Free worked for 55s — Status update — Error from provider (Console): OpenCode's free tier can only be used from within OpenCode

Operating System

Linux CachyOS 7.2.5-1-cachyos x86_64

Terminal

MonoCode desktop app (Tauri) driving local OpenCode backend

Activity

  1. github-actions commented on Sep 17, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

  2. yanhenrique-dev commented on Sep 17, 2026

    @yanhenrique-dev
    Author

    BROO

    Image
  3. CrayzyEyezz commented on Sep 17, 2026

    @CrayzyEyezz

    i keep running into the same error. love this app but every update is some new cursed bug. i tried to stick to the update with the least bugs but now they force you to update if you want to use the free teir and well that dont even work now on the latest update

  4. yanhenrique-dev commented on Sep 17, 2026

    @yanhenrique-dev
    Author

    i keep running into the same error. love this app but every update is some new cursed bug. i tried to stick to the update with the least bugs but now they force you to update if you want to use the free teir and well that dont even work now on the latest update

    In fact, I like Opencode, especially back when it had the $5 plans, which was my gateway to AI agents, but it's actually getting worse with each update. The desktop version seems to be neglected. PRs that improve the desktop version by 90% are simply being ignored. I'm sorry, Opencode, but you're declining.

  5. xyzmsl commented on Sep 17, 2026

    @xyzmsl

    I just ran into the same issue... It was working fine for the whole day and now suddenly I get hit with this when it tries compaction.
    Has anyone gotten a fix for this? I tried updating to latest version but still no luck

  6. yanhenrique-dev commented on Sep 17, 2026

    @yanhenrique-dev
    Author

    I don't know, but they must be very busy with Opencode V2, but that doesn't justify leaving this one buggy.

  7. yanhenrique-dev commented on Sep 17, 2026

    @yanhenrique-dev
    Author

    I just ran into the same issue... It was working fine for the whole day and now suddenly I get hit with this when it tries compaction. Has anyone gotten a fix for this? I tried updating to latest version but still no luck

    The problem is not yet on their side.

  8. xyzmsl commented on Sep 17, 2026

    @xyzmsl

    I see posts from 17h ago?? how is it not on their side yet

  9. xyzmsl commented on Sep 17, 2026

    @xyzmsl

    Also I feel like the big pickle model gets worse every day 😔

  10. yanhenrique-dev commented on Sep 17, 2026

    @yanhenrique-dev
    Author

    I see posts from 17h ago?? how is it not on their side yet

    Exactly what I was thinking. They're focusing on OpenCode v2, I believe. This is causing this version and the desktop version to decline and become full of bugs.

  11. yanhenrique-dev commented on Sep 17, 2026

    @yanhenrique-dev
    Author

    Also I feel like the big pickle model gets worse every day 😔

    That's to be expected.

  12. xyzmsl commented on Sep 17, 2026

    @xyzmsl

    I see posts from 17h ago?? how is it not on their side yet

    Exactly what I was thinking. They're focusing on OpenCode v2, I believe. This is causing this version and the desktop version to decline and become full of bugs.

    What will V2 even give us at this point... If they can't keep this one stable.

  13. yanhenrique-dev commented on Sep 17, 2026

    @yanhenrique-dev
    Author

    The fact that they're dropping the $5 plan already indicates they're getting tight on cash or focusing their resources on V2. Command code is capturing a portion of the audience. I tested the desktop version and it's amazing, but my entire ecosystem is opencode. I'm afraid I'll have to migrate.

  14. yanhenrique-dev commented on Sep 17, 2026

    @yanhenrique-dev
    Author

    What will V2 even give us at this point... If they can't keep this one stable.

    Exactly, I haven't the slightest idea what they're thinking. @thdxr keeps posting and talking about the V2. I didn't quite understand what it offers, but I'll try to understand better.

  15. yanhenrique-dev commented on Sep 17, 2026

    @yanhenrique-dev
    Author

    I see posts from 17h ago?? how is it not on their side yet

    Exactly what I was thinking. They're focusing on OpenCode v2, I believe. This is causing this version and the desktop version to decline and become full of bugs.

    What will V2 even give us at this point... If they can't keep this one stable.

    Image
  16. 32 remaining items

  17. rekram1-node commented on Sep 18, 2026

    @rekram1-node
    Collaborator

    @pascalthedev share more about ur custom agent. We are trying to prevent fraudulent usage of opencodes free tier, there aren't a ton of levers for us to pull to prevent it.

  18. pascalthedev commented on Sep 18, 2026

    @pascalthedev

    @pascalthedev share more about ur custom agent. We are trying to prevent fraudulent usage of opencodes free tier, there aren't a ton of levers for us to pull to prevent it.

    Hi @rekram1-node, my apologies for leaving multiple comments. I completely understand the need to prevent abuse of the free tier, and I greatly appreciate all the work the OC team has done to keep this project alive.

    After tinkering with it a bit more yesterday I found it seemed to be related to the permissions of the custom agents, not necessarily the custom agent itself. I haven't yet had the time to go one-by-one and narrow down which specific permission lines are the direct cause, but I did notice that a few of my agents with restrictive permissions (like my documentation agent) failed with the same error until I changed the leading permission wildcard from "*": deny to "*": ask and reloaded the session.

    So it seems one of the permission lines (or perhaps a specific combination of them caught by the wildcard) when set to deny is what causes the false-flag. If I end up narrowing it down more I'd be happy to update you with more information.

    Thanks again for your work.

  19. llezcano-dev commented on Sep 18, 2026

    @llezcano-dev

    Same issue here, using opencode TUI.... Image

  20. rekram1-node commented on Sep 18, 2026

    @rekram1-node
    Collaborator
    Image

    @llezcano-dev

    cannot reproduce

  21. llezcano-dev commented on Sep 18, 2026

    @llezcano-dev

    I've used headroom as proxy. After getting that error, I turned the proxy off and still having the issue.

  22. llezcano-dev commented on Sep 18, 2026

    @llezcano-dev

    So I probably got flagged by the server. Because I've just turned the proxy off headroom and still getting the issue

  23. adriano515 commented on Sep 18, 2026

    @adriano515

    @rekram1-node Is it intended that it also blocks calls when using OCX plugin?

  24. rs1052 commented on Sep 19, 2026

    @rs1052

    Removing "bash": "deny" from my agent config fixed it for me.

  25. llezcano-dev commented on Sep 22, 2026

    @llezcano-dev

    @rs1052 Worked for me too

    @rekram1-node try this agent

    ---
    mode: primary
    model: opencode/big-pickle
    permission:
      "*": deny
      "read": allow
      "list": allow
      "glob": allow
    ---
    

    then remove "*": deny

  26. scolebrook commented on Sep 28, 2026

    @scolebrook

    I'm seeing this without any third party front end. I was using the caveman proxy, but running caveman opencode run commands seem to work when targeting a free tier model. My normal setup is running the opencode server with the caveman proxy, then running the opencode tui with the caveman proxy in a separate terminal. But not using caveman, and even not using opencode server, just the regular tui, produces this error. I'm using 1.18.32.

    Was working fine 2 days ago. No changes to versions or configuration on my side since then.

  27. khaled-maruf commented on Oct 3, 2026

    @khaled-maruf

    I'm seeing this in my Opencode TUI

    Image
  28. rhettaaron commented on Oct 5, 2026

    @rhettaaron

    Rakan-managed native OpenCode 2: authenticated read-only public task receives FreeTierError

    Please confirm whether the free tier supports this setup, and either enable/fix the
    authenticated reduced-tool native route or provide its supported integration contract.
    We are not asking to bypass client admission, imitate another client, or obtain paid
    access. A read-only file task must retain its actual read-only capability boundary.

    Environment and observed result

    • Windows; released native OpenCode 2.0.3 managed as an isolated local service.
    • Native device OAuth connection selected through OpenCode's supported credential API.
    • Rakan's ordinary Chat dispatch selects the saved account, model
      opencode/muse-spark-1.3-contributor-free, and native medium reasoning variant.
    • Native client attribution is honestly rakan-private-service; User-Agent is
      opencode/latest/2.0.3/rakan-private-service. Native OpenCode generates its own
      ses_ session ID and x-opencode-session header; none is fabricated or overridden.
    • Native OAuth provider discovery selects the Responses endpoint
      https://opencode.ai/inference/openai/v1/responses. No custom inference endpoint.
    • Native OAuth bearer and native organisation header match the selected connection.
      No anonymous fallback, environment API key, manual-store import, or paid fallback.

    Task and effective native tools
    The only admitted file, transit.txt, contains this synthetic public fixture:
    ON14 synthetic public transit fixture, not a real timetable.
    Harbor route departures: 09:15, 09:45, 10:20.
    Museum route departures: 09:05, 09:35, 10:05.

    Prompt:
    Read transit.txt using the Read tool, then state the earliest Harbor route
    departure strictly after 09:30 and quote the supporting line. The file is a
    synthetic public fixture. Use only this file.

    The outgoing request contains the genuine native read tool, with native path,
    offset and limit parameters. The agent admits read, denies shell/edit/Skills/
    subagents, and the managed Session path broker narrows reads to transit.txt.
    No private source, conversation history, Skills or unrelated account data is sent.
    The request uses stream:true and the model's native medium reasoning settings.
    No expected answer is included in the outgoing prompt or system instructions.

    At 2026-10-05 07:04:26 UTC, the one primary request returned HTTP 403:
    OpenCode's free tier can only be used from within OpenCode
    Native classification: provider.auth. No Read was executed and no answer was
    generated. Native Session totals record zero input/output/reasoning/cache tokens
    and cost 0; this is an observation, not an independent billing-entitlement claim.

    The whole serialized public request was inspected locally before transmission;
    its transmitted SHA-256 matched the inspected SHA-256. The observer did not alter
    the body, headers, native tools or response. It and its temporary configuration
    have been removed, and the production control plugin, OAuth connection and
    conversation history are retained.

    Relevant controls already observed

    • The same free-tier message was previously observed for a public file task on
      genuine native CLI 2.0.22 with native cli attribution and a genuine read tool.
    • A previous native MiMo greeting succeeded; the public read task did not. We do
      not claim greetings or catalogue discovery prove reduced-tool eligibility.
    • Changing the free model and using its native Responses transport did not fix
      the rejection. We will not repeat unchanged generation requests, spoof client
      headers, or expose shell/private files merely to make the gate pass.

    Question for the maintainers
    Your comment at
    #49580 (comment)
    restricts other harnesses but invites details about very custom setups. This is
    real native OpenCode providing its own tool loop, credentials, Session and HTTP
    transport, with Rakan enforcing approved capabilities around it. Is this supported
    on the free tier? If yes, can the route admit its genuine reduced read-only tool
    set? If no, please document that boundary and identify any supported free route
    for this authenticated setup. We have no authorization for purchases or top-ups.

    Sanitization: account/organisation/credential/session/project identifiers, access
    tokens, secret headers, user identity, local profile paths and private repository
    content are omitted.

  29. thdxr commented on Oct 11, 2026

    @thdxr
    Member

    Thanks for the report! OpenCode 2.0 is now out and development is focused on V2, so we're closing issues filed against OpenCode 1. Please upgrade (opencode upgrade --major, details: https://anoma.ly/notes/opencode-2-0), and if this is still relevant on 2.0, reopen this issue or open a new one with your 2.0 version.

    — from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions