# spawnllm > Subshell + MLX LLM-calling backends (Claude/Codex CLI, local MLX) shared across tools. ## Docs ### API Reference #### Calling > One-shot LLM calls and structured output. - [call.call](https://yasyf.github.io/spawnllm/reference/call.call.html) - [schema_for](https://yasyf.github.io/spawnllm/reference/schema_for.html): Serialize a Pydantic model's JSON schema, with `additionalProperties` set to false - [resolve_schema_path](https://yasyf.github.io/spawnllm/reference/resolve_schema_path.html): Resolve a JSON schema into the argument form the backend's CLI expects - [extract_structured](https://yasyf.github.io/spawnllm/reference/extract_structured.html): Return the validated `structured_output` from a stream-json event list, if present - [parse_structured_output](https://yasyf.github.io/spawnllm/reference/parse_structured_output.html): Parse raw CLI stdout into text or a validated model - [parse_result_envelope](https://yasyf.github.io/spawnllm/reference/parse_result_envelope.html): Parse a `{is_error, result}` JSON envelope into its result text #### Backends > CLI backends, the specialty registry, and Claude status checks. - [LlmBackend](https://yasyf.github.io/spawnllm/reference/LlmBackend.html): Abstract interface for an LLM CLI backend - [ClaudeCliBackend](https://yasyf.github.io/spawnllm/reference/ClaudeCliBackend.html): `LlmBackend` for the Anthropic `claude` CLI - [CodexCliBackend](https://yasyf.github.io/spawnllm/reference/CodexCliBackend.html): `LlmBackend` for the OpenAI `codex` CLI - [LlmBackends](https://yasyf.github.io/spawnllm/reference/LlmBackends.html): Registry mapping each specialty to the `LlmBackend` that serves it - [check_status](https://yasyf.github.io/spawnllm/reference/check_status.html): Check whether the `claude` CLI is installed and authenticated - [ClaudeStatus](https://yasyf.github.io/spawnllm/reference/ClaudeStatus.html): Represent a union type - [ClaudeReady](https://yasyf.github.io/spawnllm/reference/ClaudeReady.html): The `claude` CLI is installed and authenticated - [ClaudeNotInstalled](https://yasyf.github.io/spawnllm/reference/ClaudeNotInstalled.html): The `claude` CLI is not on PATH - [ClaudeNotAuthenticated](https://yasyf.github.io/spawnllm/reference/ClaudeNotAuthenticated.html): The `claude` CLI is installed but not authenticated #### ClaudeCliBackend Methods > Methods for the ClaudeCliBackend class - [ClaudeCliBackend.cc_sentiment](https://yasyf.github.io/spawnllm/reference/ClaudeCliBackend.cc_sentiment.html) - [ClaudeCliBackend.build_command](https://yasyf.github.io/spawnllm/reference/ClaudeCliBackend.build_command.html) - [ClaudeCliBackend.parse_response](https://yasyf.github.io/spawnllm/reference/ClaudeCliBackend.parse_response.html) - [ClaudeCliBackend.env](https://yasyf.github.io/spawnllm/reference/ClaudeCliBackend.env.html) - [ClaudeCliBackend.build_argv](https://yasyf.github.io/spawnllm/reference/ClaudeCliBackend.build_argv.html) - [ClaudeCliBackend.parse_result_envelope](https://yasyf.github.io/spawnllm/reference/ClaudeCliBackend.parse_result_envelope.html) #### Transport > Subprocess plumbing shared by the CLI backends. - [run_cli](https://yasyf.github.io/spawnllm/reference/run_cli.html): Run a CLI command to completion and return its stdout - [arun_cli](https://yasyf.github.io/spawnllm/reference/arun_cli.html): Run a CLI command asynchronously and return its stdout - [collect_process](https://yasyf.github.io/spawnllm/reference/collect_process.html): Drain a subprocess's stdout and stderr concurrently and wait for it to exit - [map_concurrent](https://yasyf.github.io/spawnllm/reference/map_concurrent.html): Map an async function over items with bounded concurrency #### Types > Shared type aliases. - [types.TModel](https://yasyf.github.io/spawnllm/reference/types.TModel.html) - [types.TSpecialty](https://yasyf.github.io/spawnllm/reference/types.TSpecialty.html) #### MLX > Local Apple-Silicon engine, adapter codec, fuser, and runtime patches. - [mlx.MlxEngine](https://yasyf.github.io/spawnllm/reference/mlx.MlxEngine.html) - [mlx.AdapterCodec](https://yasyf.github.io/spawnllm/reference/mlx.AdapterCodec.html) - [mlx.AdapterFuser](https://yasyf.github.io/spawnllm/reference/mlx.AdapterFuser.html) - [mlx.MLXPatches](https://yasyf.github.io/spawnllm/reference/mlx.MLXPatches.html)