Skip to main content
Agent plugin · listing tai42/agents

Install

Permissions

Provides

langchain_deep_agent

Agent — Run a deep agent with planning, subagents, skills, and a filesystem backend.

claude_code

Agent — Run Claude Code inside a sandbox: it drives the real claude binary over a versioned exec protocol, with tools, skills, and subagents.

refine_agent

Agent — Run an Evaluator-Critic refinement loop until the Critic approves or the budget runs out.

voting_agent

Agent — Run a voting workflow — voter LLMs answer in parallel, then a judge LLM decides.

retrieval_tools_agent

Agent · group tools-agents — A tools agent that retrieves its tools on demand from a vector store.

tools_agent

Agent · group tools-agents — Run a LangGraph tools agent over tools loaded by name (and optional presets).

vqa_agent

Agent — Analyze an image and answer a query about it using a multimodal LLM. Ready-made agent workflows, each loaded by name into a manifest’s agents_modules. The model behind them, how to run one, and how to compose them live in the central docs linked below; this page is the per-agent index and the shared limits.

Configuration

Limits shared by every agent in this package:

Async-park index

A park-capable run whose tool async-parks (ask_user(mode="async")) writes a durable index that reverses a parked interaction id back to its parked run, so a later worker can resume it. This needs the [park] extra (pip install tai42-agents[park]) and a Redis URL: The park index is the agents plugin’s own Redis, independent of the checkpoint provider and the interactions store.

Tool-error resilience

A tool failure surfaces to the model as an error tool result and the agent loop continues, rather than aborting the run: a ToolException — which is how an in-process tool’s own body exception is reported — or a pydantic ValidationError from a malformed tool call becomes an error result the model can react to. Failures outside the tool call (agent machinery, provider or infrastructure errors) still abort loudly. This holds across every tool-running agent in this package, including a deep agent’s explicit and nested subagents. A thread whose previous turn was aborted mid-tool-call is repaired at the next turn start — its unanswered tool calls get synthetic error results so the provider accepts the thread — while a thread paused on a real interrupt is left untouched.

langchain_deep_agent

Runs a deep agent with planning, subagents, skills, and a filesystem backend.

claude_code

Runs Claude Code as a platform agent: it drives the real claude binary through the Claude Agent SDK inside a sandbox session over a versioned exec protocol. The plugin server never imports the SDK — the SDK lives in the session image, and only the runner payload (shipped as data and executed in-session) imports it.

Sandbox requirement

claude_code requires a registered sandbox provider. Install one, e.g. tai plugins install tai42-sandbox-docker. A run on a box with no provider raises a loud SandboxUnavailableError on every door. The session image is operator-configured and MUST be a digest reference (a bare tag is rejected at run start).

Configuration (TAI_AGENTS_CLAUDE_*)

Session creds (TAI_AGENTS_CLAUDE_CREDS) are a list of static values or per-caller connection references injected into a CLEAN session env (static) or a per-turn bearer credential-helper file (refreshable) — never the host env. A connection-reference cred resolves per-caller and fails closed on a door with no bound execution identity. Adapter-proxied platform tools. Granted tool_names run under the run’s own execution identity through the same run_tool seam every agent uses — the session reaches no platform network surface and holds no key or MCP endpoint. A non-empty tool_names on a door with no bound execution identity is refused loudly (fail-closed). Stated residual (security is configuration). The one injected model credential lives in the session env, so the session’s own Bash can read it and it can reach the persisted transcript. The credential scrub removes credential FILES on a terminal exit; when the platform sandbox_scrub_transcript flag is on, injected credential VALUES are also redacted from the kept transcript. Async ask_user parks are supported on threaded (conversation) runs and use the same [park] extra + TAI_AGENTS_REDIS_URL as the other parking agents (see Async-park index); an async ask on a thread-less tool-face run is refused loudly (its ephemeral workspace could never be resumed).

refine_agent

Runs an Evaluator-Critic refinement loop until the Critic approves or the budget runs out.

voting_agent

Runs a voting workflow — voter LLMs answer in parallel, then a judge LLM decides. Bounded by TAI_AGENTS_MAX_VOTERS and TAI_AGENTS_VOTER_CONCURRENCY.

retrieval_tools_agent

A tools agent that retrieves its tools on demand from a vector store.

tools_agent

Runs a LangGraph tools agent over tools loaded by name (and optional presets). A tool that async-parks (ask_user(mode="async")) suspends the run instead of blocking; it resumes on a later worker when the ask is answered or expires. This needs the [park] extra and TAI_AGENTS_REDIS_URL (see Async-park index).

vqa_agent

Analyzes an image and answers a query about it using a multimodal LLM.

See also