deepseek-ai/deepseek-harness · error
exit_plan_mode requires a calling agent (no session to switc
Error message
exit_plan_mode requires a calling agent (no session to switch)
What it means
Error "exit_plan_mode requires a calling agent (no session to switch)" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/plan/plan-mode/src/index.ts:360
ctx.tools.register(defineTool({
name: EXIT_PLAN_MODE,
description: EXIT_DESCRIPTION,
parameters: {
plan: { type: 'string', required: true, description: 'The complete plan, as markdown, starting with a # heading that names it.' },
},
output: {
schema: {
type: 'object',
additionalProperties: false,
properties: {
approved: { type: 'boolean', const: true, required: true },
},
},
render: () => [{ type: 'text', text: 'Plan approved — plan mode exited; carry out the plan starting with your next step.' }],
},
execute: async (args, exec) => {
const agent = exec.agent
if (agent === undefined) throw new Error(`${EXIT_PLAN_MODE} requires a calling agent (no session to switch)`)
if (!foldPlanMode(agent.session.events)) {
throw new Error(`${EXIT_PLAN_MODE} is only available in plan mode`)
}
if (!/^#\s+\S/.test(args.plan.trim())) {
throw new Error(`${EXIT_PLAN_MODE} requires a non-empty markdown plan starting with a # heading`)
}
const interaction = ctx.get('userQuestions')
if (interaction === undefined) {
throw new Error('no user-questions channel is available to review the plan; ask the user to switch the session mode instead')
}
const answer = await interaction.ask({
questions: [{
id: REVIEW_ID,
header: 'Plan review',
question: 'Approve this plan and leave plan mode?',
detail: args.plan,
options: [
{ label: APPROVE_LABEL, description: 'Leave plan mode; the plan is carried out from the next step.' },View on GitHub (pinned to b150a551b8)
Solutions
- Call exit_plan_mode from an agent running in a session.
When it happens
Trigger: Thrown at packages/plan/plan-mode/src/index.ts:360 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24).
Data as JSON: /api/errors/16e4f789275976f5.
Report an issue: GitHub.