Automatically detect and exclude mechanical "continue" / "proceed" user messages from backend submissions after connectivity interruptions, keeping context windows clean.
When a coding agent session is interrupted (network drop, timeout, etc.), users commonly type continue or proceed to resume. These messages serve a purely mechanical purpose of re-enabling the agent loop and provide no semantic value to the remote LLM. Without this feature, they pollute the context window and are sent to every backend on every subsequent turn.
The Auto Continue/Proceed Removal feature detects when the very last user message is exactly continue or proceed (trimmed, case-insensitive) and tags it as non-forwardable. The existing non-forwardable enforcement layer then silently excludes it from outbound payloads to remote LLMs. The message remains in the agent's local context history so the coding agent continues building a complete window; only the transmission to the remote model is affected.
- Exact match only: Only pure
continueorproceedstrings are matched (case-insensitive, trimmed). Phrases likeplease continueorcontinue workingare not affected. - Last-message scope: Only the final user message in the request is checked. Earlier occurrences are left untouched.
- Non-forwardable tagging: Uses the existing
NEVER_FORWARDmechanism so the proxy keeps the message in local history but excludes it from all backend transmissions. - Default enabled: Active by default; disable explicitly when needed.
- Fail-open: If the non-forwardable registry or identity service is unavailable, the feature degrades gracefully without breaking requests.
- During the request transform pipeline, the proxy inspects the last message.
- If the message role is
userand its content (trimmed, lowercased) is exactlycontinueorproceed, the proxy computes a deterministic identity and tags it withNEVER_FORWARDand reasonauto_continue_removal. - Later, just before the backend call, the non-forwardable message enforcer filters out tagged messages from the outbound payload.
- On subsequent turns the coding agent resubmits the same context window; the tag persists for the session lifetime, so the message continues to be excluded.
The feature is enabled by default. Configuration follows precedence: CLI > Environment > Config File.
# Disable the feature
python -m src.core.cli --disable-auto-continue-removal# Disable the feature
export AUTO_CONTINUE_REMOVAL_ENABLED=false# config.yaml
session:
auto_continue_removal_enabled: false- You want the remote LLM to see literal
continue/proceedprompts (e.g. for debugging agent behavior). - Your workflow uses custom continue-like keywords that should reach the model.
- You are testing context window behavior and need every message forwarded verbatim.
- A coding session is interrupted mid-stream.
- The user sends
continue. - The proxy keeps the message in local history but does not forward it to the remote model.
- The next backend request reuses the meaningful prior context without wasting tokens on the mechanical resume prompt.
If you intentionally want the remote model to see continue or proceed, disable the feature first:
python -m src.core.cli --disable-auto-continue-removal- Agentic coding sessions where transient disconnects are common and users resume by typing
continue. - Long-running terminal workflows where preserving context window capacity matters.
- Local debugging of session history, where the proxy should remember the resume command without sending it upstream.
When a message is tagged, the proxy logs at INFO level:
Auto continue removal: tagged last user message for session abc-123, reason=auto_continue_removal
Debug-level logging shows when messages are checked but not matched.
- Non-Forwardable Message Tagging - Underlying tagging and enforcement mechanism
- Quality Verifier System - Verifies individual responses for quality
- Context Window Enforcement - Enforces per-model context limits