# Letta v0.12 Release Notes

**URL:** <https://forum.letta.com/t/letta-v0-12-release-notes/73>\
**Category:** Announcements\
**Tags:** release-notes\
**Created:** [October 10, 2025, 5:26pm UTC](https://forum.letta.com/t/letta-v0-12-release-notes/73 "2025-10-10T17:26:14Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![cameron](https://yyz1.discourse-cdn.com/flex007/user_avatar/forum.letta.com/cameron/32/99_2.png) [@cameron](https://forum.letta.com/u/cameron)\
**Post date:** [October 10, 2025, 5:26pm UTC](https://forum.letta.com/t/letta-v0-12-release-notes/73/1 "2025-10-10T17:26:14Z")

</div>

Letta 0.12 (current bug version 0.12.1) is out! This is our first release in quite some time, and it comes with a litany of bug fixes and improvements.

See it on Docker [here](https://hub.docker.com/r/letta/letta).

Of these, users should focus on the new agent architecture `letta_v1_agent`. This should resolve a substantial amount of issues related to:

- Open weight providers like OpenRouter or Groq and local providers like Ollama not providing tool calls, leading to unusable agents
- Claude agents providing only reasoning with no messages
- GPT-5 models performing poorly

We recommend updating to this new architecture going forward. You can create new agents with this architecture using the SDK:

Python

```python
client.agents.create(agent_type="letta_v1_agent")

```

Typescript:

```ts
await client.agents.create({agentType: "letta_v1_agent");

```

These agents can also be created in the ADE by selecting the Letta (v1) Alpha tab in the agent creation view:

 ![image](https://canada1.discourse-cdn.com/flex007/uploads/letta/original/1X/3bee4098c5266c9428f8f48bc8710ecd613fbfa2.jpeg)

This should be available on self-hosted. We are slowly rolling this feature out across Letta Cloud users now, so please stay tuned.

## Major Features

### New Agent Architecture: `letta_v1_agent`

The new recommended agent architecture with significant improvements over the legacy agent system.  
What’s Different:

- No `send_message` tool required
- Works with any chat model, including non-tool-calling models
- No heartbeat system
- Simpler base system prompt - agentic control loop understanding is baked into modern LLMs
- Follows standard tool calling patterns (auto mode) for broader compatibility

Provider Support:

- Compatible with all inference providers (OpenRouter, Azure, Together, Ollama, etc.).
- Works with non-tool-calling models.
- Supports OpenAI’s [Responses API](https://platform.openai.com/docs/api-reference/responses) for drastically improved performance with GPT-5 models.

Trade-offs:

- No heartbeats: Agents won’t independently trigger repeated execution. If you need sleep-time compute or periodic processing, implement this through your own prompting or scheduling.
- Tool rules on messaging: Cannot apply tool rules to agent messaging, i.e. you cannot require a particular tool to be followed by an assistant message.
- Reasoning visibility: Non-reasoning models (GPT-4.1, GPT-4o-mini) will no longer generate explicit reasoning output.
- Reasoning control: Less control over reasoning tokens, which are typically encrypted by providers and cannot be passed between different providers.

**Recommendation** : Create all new agents as `letta_v1_agent`. The expanded provider compatibility and simpler architecture make this the best choice for most use cases. Use legacy agents only if you specifically need heartbeats or tool rules on messaging.

### Human-in-the-Loop (HITL)

Tools can now require human approval before execution. Set approval requirements via API or in the ADE for greater control over agent actions.  
📖 [Documentation](https://docs.letta.com/guides/agents/human-in-the-loop)

### Parallel Tool Calling

Agents now execute multiple tool calls simultaneously when supported by the inference provider. Each tool runs in its own sandbox for true parallel execution. See the [Claude](https://docs.claude.com/en/docs/agents-and-tools/tool-use/implement-tool-use#parallel-tool-use) documentation for examples on parallel tool calling.

### Runs API

New tracking system providing substantially improved observability and debugging capabilities. Documentation coming soon.

### Enhanced Archival Memory (Letta Cloud only)

- **Hybrid search** : Combines full-text and semantic search
- **DateTime filtering** : Query memories by time range
- **Search API endpoint** : [Documentation](https://docs.letta.com/api-reference/agents/passages/search)

### Improved Pagination

Cursor-based pagination now available across many endpoints for handling large result sets.

## New Tools

### Memory Omni-Tool

Unified memory interface for more intuitive agent memory management.

📖 [Blog post](https://www.letta.com/blog/introducing-sonnet-4-5-and-the-memory-omni-tool-in-letta) | [YouTube demo](https://youtu.be/0nfNDrRKSuU)

### `fetch_webpage` Tool

Utility tool for retrieving LLM-friendly webpage content.

## Agent Configuration

### Templates & Agentfiles

- **Template updates** : Templates can now be [updated via agentfiles](https://docs.letta.com/api-reference/templates/updatecurrenttemplatefromagentfile)
- **Agentfile v2 schema** : Now supports groups, folders, etc.

## Breaking Changes

### Deprecated APIs

- **`get_folder_by_name`** : Use `client.folders.list(name=...)` instead
- **`sources` routes** : All routes renamed to `folders`

**Full changelog** : [GitHub](https://github.com/letta-ai/letta/compare/0.11.7...0.12.1)
