Skip to content

feat: configurable continuation prompt, with an account-switch note - #244

Merged
andrewcai8 merged 3 commits into
mainfrom
feat/continuation-prompt
Oct 21, 2026
Merged

andrewcai8 merged 3 commits into
mainfrom
feat/continuation-prompt

Conversation

@andrewcai8

Copy link
Copy Markdown
Owner

When T3 Code resumes a turn on its own, it always sent Continue where you left off.. Users who drive agents through a skill had no way to start that message with one, such as /poteto-mode. After a usage-limit account switch the agent also got no hint that it had moved, so it sometimes held back on subagents or waited for a reset.

How

  • New server setting continuationPrompt (trimmed, non-empty). It defaults to Continue where you left off., so nothing changes for anyone who leaves it alone. It is a shared setting like Auto-resume limited threads, so saving it from one client writes it to every connected environment.
  • accountSwitchContinuation(prompt) appends one note to switch continuations only: "Your previous account hit its usage limit, so this chat moved to another account with room. Subagents and new chats are also routed to accounts with room, so keep working and delegating as usual." The note does not name a provider.
  • The prompt is always the first text in the message, so a slash-command skill still parses as one.
  • Command and message ids and idempotency keys are unchanged.

Every source covered

Source Before Now
UsageLimitRecoveryWorker reset resume (limit-resume:) fixed text prompt
UsageLimitRecoveryWorker account switch (limit-switch:) fixed text prompt + account note
RestartContinuation after a restart or update fixed text, with any cancelled-work note before it prompt, with any cancelled-work note after it
Cloud box switch (ProviderAccountSwitch, account-switch:) fixed text prompt + account note. The host sends its own continuationPrompt in GuestAccountSwitchInput, and the box falls back to its own setting. Older boxes drop the unknown field and keep the old text.
Web Resume button (ChatView) fixed text the environment's prompt

Behavior change for default users: when a restart cancelled background work, the message used to be <note>\n\nContinue where you left off.. It is now Continue where you left off.\n\n<note>. The order is flipped so a configured skill prefix stays first.

Not changed:

  • The settled restart note sends no continue prompt, as before.
  • Mobile has no Resume button that sends text. Mobile settings get no text field: the setting syncs to every environment from web or desktop, and a draft-and-commit text row on the multi-environment Thread behavior screen is more UI than a set-once preference earns.
  • Project-scoped overrides are left out, so the setting is global.
  • No user-doc sentence describes the message text, so the docs are unchanged.

UI

Settings, General, below the usage-limit toggles. A Continuation message text field with a reset button, a settings-search entry, and an entry in restore defaults. Clearing the field restores the default. No screenshots were taken because this run did no browser verification.

Tests

  • runtimeLayer.test.ts "usage-limit account switch". With the setting /poteto-mode Continue where you left off., a switch sends the prompt plus the note, and a reset resume sends the prompt alone.
  • RestartContinuation.test.ts. A configured prompt comes first, with no account note, including when a cancelled-work note is present. The default text is unchanged.
  • ProviderAccountSwitch.test.ts. The box uses the host-sent prompt plus the note, and falls back to the default plus the note when the host sends none.
  • sharedSettings.test.ts. continuationPrompt is a shared key.
  • Mutation check: moving the note ahead of the prompt fails three of these tests.
  • Ran tsc-rs --noEmit for contracts, client-runtime, server, web, and mobile. Ran targeted vp lint.

🤖 Generated with Claude Code

andrewcai8 and others added 3 commits October 21, 2026 09:10
The message T3 Code sends when it continues a turn on its own, defaulting to
"Continue where you left off.". It syncs across environments like the other
usage-limit settings, and a host can hand it to a cloud machine with an
account switch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the account changed

Limit resumes, limit switches, restart continuations and cloud account
switches now send continuationPrompt. A switch to another account at a usage
limit adds a short note that the old account ran out and that subagents and
new chats also route to accounts with room. The prompt always comes first so a
skill invocation stays the first word.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…Resume

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L labels Oct 21, 2026
@andrewcai8
andrewcai8 merged commit 36750d4 into main Oct 21, 2026
25 checks passed
@github-actions

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ℹ️ The exact PR base did not have a successful artifact. Baseline uses the latest successful main measurement shown below.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.9 KiB 20.9 KiB 0 B (0.0%) 29.3 KiB ✅
Codex Live turn messages 2 2 0 (0.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB +7 B (+0.1%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB +7 B (+0.6%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: acc526d · PR result: 88d0dd5 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

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

Labels

size:L vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant