anthropics / anthropics/claude-agent-sdk-python

Feature request: configurable API response timeout for subagent calls

Abierto
#666 2 comentarios 1 reacción 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
8.1k
Forks
1.3k
Merge medio
2 d 31 min
PR fusionados (30 d)
1

Descripción

## Summary

When a subagent makes an API call with large context (~83K tokens) and needs to generate large output (~30KB), the API call can hang indefinitely with zero events written to the JSONL transcript. There is no configurable timeout to detect or recover from this state.

## Reproduction

1. Launch a background agent (`run_in_background=True`) with a task requiring large context
2. Agent accumulates ~80K+ tokens of context via multiple Read calls
3. Agent makes a tool call that succeeds (e.g., `mkdir`)
4. Next API call (to generate a large Write) hangs — zero JSONL events for 4+ minutes
5. Parent agent polls via TaskOutput — always sees `status: running`
6. No mechanism to detect the hang or kill the subagent

## Observed behavior

- JSONL transcript stops at the successful `tool_result` — no new entries
- `TaskOutput` always returns `running` (can't distinguish "actively generating" from "API hung")
- `KillShell` fails ("not a local bash task")
- `TaskStop` kills the agent but destroys any in-progress work

## Expected behavior

A configurable timeout (e.g., `api_timeout_seconds` in `ClaudeAgentOptions`) that:
1. Detects when an API response hasn't produced any events for N seconds
2. Marks the agent as `error` with a clear timeout message
3. Writes the error to the agent's JSONL for downstream tracking

## Workaround

We implemented a 20-minute wall-clock timeout in our stop hook that unblocks the parent task, but the hung agent process itself stays alive consuming resources.

## Environment

- claude-agent-sdk: 0.1.48
- Claude Code CLI: 2.1.72 (bundled)
- Observed on: Python 3.12, Linux (GKE)
- Original incident: CLI 2.0.72, but the underlying issue (no API timeout) persists

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.