Skip to content

[FEATURE]: Warming per Session #58163

Open

Description

@Christoph-Raab

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

The warming feature as I understand it is only on/off for opencode.

I have multiple instances of OC running (in standalone mode) and pick up work when I find the time. For some of them warming would be interesting, because the context gets quite large. But most of the time it would just be a waste of token.

I'd like to configure warming per session, ideally by on-demand on/off setting any point in time of the session (not just at the beginning). E.g. when I do a lunch break, I can enable it for the current session which I want to pick up after lunch, while all the others (that may sit there for another day or two) can go stale.

Somewhat similar, but per model/agent: #53457

Activity

  1. opencode-agent commented on Oct 22, 2026

    @opencode-agent
    Contributor

    Thanks for the suggestion! You're asking to turn prompt-cache warming on or off for each session, ideally on demand (e.g. keep the session you'll resume after lunch warm and let the others go stale), instead of the single global warming setting.

    Right now warming is set only in the global or project config, and the same settings apply to every top-level session, so there is no per-session toggle yet. Maintainers will consider this.

    Related issues:

  2. cris005 commented on Nov 6, 2026

    @cris005

    Until this lands, a plugin can do it. I maintain opencode-cache-manager, which keeps idle sessions warm with its own pings and lets you change that per session at any point:

    • /cache-manager keepalive on or off for the current session. For your lunch-break case, turn keepalive off in the global settings (/cache-manager with no argument opens a picker with a Global section), then turn it on in the one session you'll come back to.
    • /cache-manager pings 3 caps how many pings that session gets while idle.
    • /cache-manager min 100k only keeps the session warm while its context is at least that big. Set it globally and small sessions are never pinged, which covers your "only the large ones" case without toggling anything.
    • /cache-manager 1h switches just that session to the 1h cache, so it needs one ping every 50 minutes instead of one every 4.

    The sidebar also shows what each session's pings cost against the rewrites they saved, so you can tell which sessions are worth keeping warm. Turn off the built-in warming if you try it, or both will ping the same session.

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

Metadata

Metadata

Assignees

No one assigned

    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