Skip to content

NoetaAgents that keep running.

A Python SDK for agents that survive crashes, wait days for a human, and scale from one script to a cluster — without changing the agent.

Noeta

A working agent in a few lines ​

Install noeta-sdk, set ANTHROPIC_API_KEY, and the agent explores your project with its built-in file tools.

python
from noeta.sdk import Options, query
from noeta.sdk.providers import AnthropicProvider

result = query(
    Options(system_prompt="You are a concise coding assistant."),
    goal="What files are in this directory, and what does each one do?",
    provider=AnthropicProvider(),
    model="claude-sonnet-5",
)
print(result.answer())

The result is more than the answer: it holds every model call, tool call and token count from the run. Quickstart →

How it fits together ​

Your codequery() · ClientWorker pool
optional; any worker runs any task
Noeta — inside your own processEngine loop — every stepComposeDecideRun toolsrepeat until done or waitingPlugins — every capability, one public APIFiles & shellWebMCPMemorySandboxModel adaptersYour own plugins plug in the same wayEvent logSQLite or Postgresevery step appendedstate = replayappendreplayModel APIAnthropicOpenAI-compatible

Every step the agent takes is appended to the event log, so any worker can rebuild the task from it. Everything the agent can do — tools, MCP, memory, the model itself — is a plugin. How it works →

Built to be extended ​

Everything is a pluginThe kernel ships no capabilities. File tools, web, memory, MCP, sandboxes and model adapters are all plugins that use the same public API yours does.
Any modelAnthropic, any OpenAI-compatible gateway, or the OpenAI Responses API. Switching is one line; the agent and its history stay the same.
Approval before actionRisky tool calls pause for a human. Guards can block a call before it runs; observers watch without being able to interfere.

How it compares ​

NoetaClaude Agent SDKLangGraphTemporal
What it isDurable agent runtime, as a libraryAgent loop library for ClaudeGraph-based agent frameworkDurable workflow platform
Control flowThe model decides each stepThe model decidesA graph you defineWorkflow code you write
What is savedEvery event; state is derived from itThe conversationCheckpoints of graph stateWorkflow history
Waiting for a human / timerBuilt in, woken exactly onceResume the conversationInterrupt, then the caller resumesBuilt in
Scaling outWorker pool; many hosts on PostgresOne processUp to you, or the hosted platformA Temporal cluster
ModelsAny, one line to switchClaudeAny—
Extra service to runNone — your process, your databaseNoneNoneTemporal server

Pick Noeta when an agent runs unattended for a long time and you need to recover, audit and scale it. Full comparison →

Measured on public benchmarks ​

24/40
Terminal-Bench 2.1
40-task sample · first pass; 33/40 best of 3 attempts · noeta-sdk 0.6.28, one run · public board 58.7%–83.8% (full set)
13/15
SWE-bench Verified
15-instance subset · first pass 9/15, 4 setup timeouts re-run · noeta-sdk 0.6.10, one run

An agent built only on the public SDK (noeta-agent main, Claude Opus 4.8), run on the official harness. Each is a single run over a sample, not a full leaderboard run, and the higher figures count re-runs. Method and caveats →

Where to go next ​

Released under the Apache License 2.0.