Long extraction runs on the claude-cli backend get cut off at exactly ten minutes, and there's no way to raise the ceiling. Setting GRAPHIFY_API_TIMEOUT or passing --api-timeout has no effect on a claude-cli run, even though both take effect for the OpenAI-compatible HTTP backends.
The cause is that the timeout only reaches the HTTP client. The two claude-cli subprocess calls in graphify/llm.py hardcode timeout=600:
_call_claude_cli (extraction)
- the
claude-cli branch of _call_llm (community labeling)
Neither reads GRAPHIFY_API_TIMEOUT, so a dense chunk or a large 1M-context model that legitimately runs past ten minutes can't be given more headroom without editing the source. The env var was added for the API path in #792 and the README env-var table presents it as general, which makes the CLI gap easy to trip over.
Proposed fix in #1111: factor the parse the HTTP path already does into a small helper and route both claude-cli subprocess calls through it, so the same env var and the --api-timeout flag apply uniformly across backends. The 600s default is unchanged.
Long extraction runs on the
claude-clibackend get cut off at exactly ten minutes, and there's no way to raise the ceiling. SettingGRAPHIFY_API_TIMEOUTor passing--api-timeouthas no effect on aclaude-clirun, even though both take effect for the OpenAI-compatible HTTP backends.The cause is that the timeout only reaches the HTTP client. The two
claude-clisubprocess calls ingraphify/llm.pyhardcodetimeout=600:_call_claude_cli(extraction)claude-clibranch of_call_llm(community labeling)Neither reads
GRAPHIFY_API_TIMEOUT, so a dense chunk or a large 1M-context model that legitimately runs past ten minutes can't be given more headroom without editing the source. The env var was added for the API path in #792 and the README env-var table presents it as general, which makes the CLI gap easy to trip over.Proposed fix in #1111: factor the parse the HTTP path already does into a small helper and route both
claude-clisubprocess calls through it, so the same env var and the--api-timeoutflag apply uniformly across backends. The 600s default is unchanged.