Repository navigation
Closed
Closed
Copy link
Labels
coreAnything pertaining to core functionality of the application (opencode server stuff)Anything pertaining to core functionality of the application (opencode server stuff)discussionUsed for feature requests, proposals, ideas, etc. Open discussionUsed for feature requests, proposals, ideas, etc. Open discussion
Description
Feature hasn't been suggested before.
- I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
I would like opencode to support user-overridable input limits for OpenAI models such as gpt-5.4, or otherwise align its effective limits more closely with the official OpenAI model documentation.
Background
OpenAI documents gpt-5.4 as having a 1,050,000 token context window and 128,000 max output tokens.
In opencode, openai:gpt-5.4 currently appears to be loaded with:
context: 1,050,000input: 272,000output: 128,000
Because opencode's compaction logic prefersmodel.limit.inputwhen it is present, long conversations may be compacted much earlier than users would expect from the official GPT-5.4 context window.
Requested enhancement
Please consider one of the following:
- Allow
provider.models.<model>.limit.inputto be overridden in user config, and make sure that override is respected at runtime. - Add an explicit advanced setting to opt into the full documented long-context budget for supported models/providers.
- Revisit the metadata source used for OpenAI GPT-5.x models so opencode does not enforce a much smaller effective input budget unless there is a confirmed upstream reason.
Why this would help
- It would let advanced users fully use the long-context models they are already paying for.
- It would reduce unnecessary early compaction and summarization.
- It would make model behavior more predictable and closer to official provider documentation.
- It would improve parity with OpenAI's own tooling, where client-side context budget is configurable.
Additional note
This request is not asking opencode to bypass any upstream provider limits. It is only asking for either: - more accurate defaults, or
- a user-visible override for the client-side/model-metadata limit that opencode uses for compaction decisions.
If the current272,000input limit is intentional because of a known upstream constraint, documenting that clearly would also be very helpful.
Reacted by Tarek Haoula, Raymel, Brendan Duke, Sergey Kostrukov, vyls and Jun Guo
Metadata
Metadata
Assignees
Labels
coreAnything pertaining to core functionality of the application (opencode server stuff)Anything pertaining to core functionality of the application (opencode server stuff)discussionUsed for feature requests, proposals, ideas, etc. Open discussionUsed for feature requests, proposals, ideas, etc. Open discussion
Activity
github-actions commentedon Mar 6, 2026
This issue might be a duplicate of existing issues. Please check:
Please review these issues to see if your request is already covered or can be addressed as part of an existing discussion.
ykswang commentedon Mar 6, 2026
I originally opened this as a feature request, but after tracing the implementation this looks more like a bug in the existing model override behavior.
Specifically,
provider.models.<model>.limit.inputis currently ignored in two places:limitoverrides such as:{ "provider": { "anthropic": { "models": { "claude-sonnet-4-20250514": { "limit": { "input": 123456 } } } } } }This means model-level input limit overrides are ineffective even though model overrides already exist for other fields.
I'm preparing a small fix that: