slopus/happy · warning
Claude clear goal action is not supported
Error message
Claude clear goal action is not supported
What it means
The server advertises per-action goal capabilities (capabilities.clear / capabilities.edit) in the goal status. If a 'clear' action is requested while capabilities.clear is false/absent, the handler rejects it as unsupported rather than attempting an action Claude cannot perform.
Source
Thrown at packages/happy-cli/src/claude/runClaude.ts:589
session.rpcHandlerManager.registerHandler('goal-action', async (params: unknown) => {
const actionParams = params && typeof params === 'object' && !Array.isArray(params)
? params as Record<string, unknown>
: null;
const command = actionParams ? parseClaudeGoalActionParams(actionParams) : null;
if (!command) {
throw new Error('Unsupported Claude goal action');
}
if (pendingClaudeGoalAction) {
throw new Error('Claude goal action already in progress');
}
if (!latestClaudeGoalStatus || latestClaudeGoalStatus.status !== 'active') {
throw new Error('No active Claude goal');
}
const capabilities = latestClaudeGoalStatus.capabilities ?? {};
if (command.type === 'clear' && !capabilities.clear) {
throw new Error('Claude clear goal action is not supported');
}
if (command.type === 'set' && !capabilities.edit) {
throw new Error('Claude edit goal action is not supported');
}
if (currentRunMode !== 'remote') {
throw new Error('Claude goal action is not ready: remote mode is not active');
}
if (!currentSession || currentSession.thinking) {
throw new Error('Claude goal action is not ready while Claude is thinking');
}
if (messageQueue.size() > 0) {
throw new Error('Claude message queue is busy');
}
const slashCommand = command.type === 'clear'
? '/goal clear'
: `/goal ${command.objective}`;
const mode = currentEnhancedMode();View on GitHub (pinned to b824cd0a46)
Solutions
- Upgrade the CLI (and the bundled Claude SDK) to a version that supports goal clearing.
- Use a different mechanism to reset the goal (e.g. set a new goal instead of clearing).
- Hide the clear action in the app when capabilities.clear is false.
- Check latestClaudeGoalStatus.capabilities to confirm what the session supports before sending actions.
Example fix
// before
await rpc('goal-action', { action: 'clear' });
// after
if (goalStatus?.capabilities?.clear) await rpc('goal-action', { action: 'clear' }); Defensive patterns
Strategy: validation
Validate before calling
if (goalStatus?.status === 'active' && !goalStatus.capabilities?.clear) {
console.warn('Clearing goals is not supported by this session');
return;
} Type guard
function supportsClear(s: { status: string; capabilities?: { clear?: boolean } } | null): boolean {
return s?.status === 'active' && s.capabilities?.clear === true;
} Try / catch
try {
await rpc('goal-action', { action: 'clear' });
} catch (err) {
if ((err as Error).message.includes('clear goal action is not supported')) {
logger.warn('Session does not support goal clear — upgrade the CLI/Claude SDK or set a new goal instead');
} else throw err;
} Prevention
- Gate clear buttons on capabilities.clear from goal status metadata.
- Upgrade CLI + bundled Claude SDK when goal features are needed.
- Check capabilities after every goal status update.
- Fall back to setting a replacement goal when clear is unavailable.
When it happens
Trigger: A 'goal-action' with type 'clear' arrives while the active goal status's capabilities object lacks a truthy clear flag — i.e. the current Claude version/mode does not support clearing goals.
Common situations: Older Claude Code SDK versions lacking the clear-goal feature; a session mode where goal clearing is disabled; client/server version skew where the app shows a clear button the session can't honor.
Related errors
- Claude edit goal action is not supported
- Codex goal actions are not supported by this runtime
- The chosen rewind point is no longer present in the source C
- Resume session handler not available
- Unsupported Claude goal action
AI-assisted analysis of slopus/happy@b824cd0a46 (2026-08-31).
Data as JSON: /api/errors/7566fb83ba859f62.
Report an issue: GitHub.