Heads up This site is currently under heavy development.
Subscribe Get it delivered — the daily firehose, filtered to the tools you run, plus the documentation changes vendors never announce. Compare plans →

The AI Toolchain — issue -155, March 17, 2026

THE AI TOOLCHAIN NO. -155
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED MARCH 17, 2026 · EVERY WEEKDAY
EDITIONS tail grep head diff uniq

The daily firehose — everything the toolchain shipped today, already filtered.

// HOW THIS ISSUE IS MADE

We read every release from the 174 tools on our watchlist at the source — GitHub and GitLab release notes, vendor release pages and changelogs, project blogs and feeds, vendor press releases, and the source code behind the tag. Bug-fix-only releases and non-product newsroom noise are dropped; what's left is summarized down to the new capability, how to try it, and any screenshots or videos the release itself published. Every entry links to the sources it was built from.

VIEW
ISSUE VIEW full issue
Do you prefer this view?
$ tct list   # 11 tools matched
AI & LLM Tooling
◆  AI Agent Frameworks

Agno (formerly Phidata)

Sources Release notes → v2.5.10 NOTES

Agno v2.5.10 adds Telegram interfaces, Docling document reader, MLflow tracing, WhatsApp V2 media/interactive support, and Vertex AI parallel search.

└──▷ GET THIS VERSION
$ git clone --branch v2.5.10 https://github.com/agno-agi/agno.git
# already have the repo? check out this version:
$ git checkout v2.5.10
└──▷ USE IT
Pass run-level dependency and session-state context when triggering a workflow programmatically.
python
workflow.run(
    metadata={"run_label": "nightly"},
    dependencies={"db": my_db_client},
    add_dependencies_to_context=True,
    add_session_state_to_context=True
)
Set a request timeout on a Gemini model to avoid hanging agent runs in production.
python
from agno.models.gemini import Gemini

model = Gemini(id="gemini-2.0-flash", timeout=30)
  • Adds enable_encryption parameter to the WhatsApp Interface V2 for encrypting phone numbers.
  • Adds version query parameter to GET /workflows/{id} to fetch specific workflow versions.
  • Adds run-level parameters metadata, dependencies, add_dependencies_to_context, and add_session_state_to_context to Workflow.run() and arun().
  • Adds timeout parameter to the Gemini model class.
  • New Telegram interfaces for AgentOS supporting agents, teams, and workflows, with multi-modal support and /new command to start fresh conversations.
+6 moreshow less
  • New Telegram Tools enabling agents to send photos, documents, videos, audio, animations, and stickers.
  • WhatsApp Interface V2 adds media support (images, video, audio, documents), interactive messages (reply buttons, list menus, locations, reactions), Team/Workflow support, and /new command for fresh conversations.
  • Integrates the Docling library as a new reader for advanced document processing across multiple file formats.
  • Extends observability support with MLflow for full trace visibility into agent runs.
  • Adds Parallel AI Search support for Vertex AI via native ToolParallelAiSearch integration.
  • Adds mistralai v2 support while maintaining backward compatibility with v1.
Was this useful?

Nous Research Hermes

Sources Release notes → v2026.3.17 NOTES

The agent that grows with you

Hermes v2026.3.17 adds streaming, a plugin architecture, native Anthropic provider, voice mode, PII redaction, persistent shell, and CDP browser attach.

└──▷ GET THIS VERSION
$ git clone --branch v2026.3.17 https://github.com/NousResearch/hermes-agent.git
# already have the repo? check out this version:
$ git checkout v2026.3.17
└──▷ TRY IT
Extend Hermes with a custom security tool (e.g., a CVE lookup) without forking the project.
$ cp my_cve_lookup_tool.py ~/.hermes/plugins/
Attach Hermes browser tools to an already-open Chrome session for live inspection and interaction via CDP.
$ /browser connect
  • Adds unified streaming infrastructure delivering real-time token-by-token output in the CLI and all gateway platforms.
  • Introduces a first-class plugin architecture: drop Python files into ~/.hermes/plugins/ to add custom tools, commands, and hooks without forking.
  • Adds native Anthropic provider with Claude Code credential auto-discovery, OAuth PKCE flows, and native prompt caching — no OpenRouter required.
  • New smart approvals system learns which commands are safe and remembers preferences; /stop command immediately kills the current agent run.
  • Adds Honcho memory integration with async writes, configurable recall modes, session title support, and multi-user isolation in gateway mode.
+16 moreshow less
  • Adds voice mode: push-to-talk in CLI, voice notes in Telegram/Discord, Discord voice channel support, and local Whisper transcription via faster-whisper.
  • Concurrent tool execution via ThreadPoolExecutor runs multiple independent tool calls in parallel, reducing multi-tool turn latency.
  • New privacy.redact_pii setting automatically scrubs personally identifiable information before sending context to LLM providers.
  • New /browser connect command attaches browser tools to a live Chrome instance via Chrome DevTools Protocol.
  • Adds Vercel AI Gateway as a provider, routing Hermes through Vercel's model catalog and infrastructure.
  • Rebuilt centralized provider router with call_llm API, unified /model command, auto-detect provider on model switch, and direct endpoint overrides.
  • New ACP server enables VS Code, Zed, and JetBrains to connect to Hermes as an agent backend with full slash command support.
  • Persistent shell mode lets local and SSH terminal backends maintain shell state (working directory, env vars, aliases) across tool calls.
  • Adds --pass-session-id flag to include the session ID in the system prompt.
  • Adds Anthropic Context Editing API support.
  • New system gateway service mode allows running Hermes as a system-level systemd service.
  • Reasoning hot reload allows changing reasoning settings in gateway mode without a restart.
  • Adds Agentic On-Policy Distillation (OPD) RL training environment for distilling agent policies.
  • Native Anthropic auxiliary vision support uses Claude's native vision API for image processing instead of OpenAI-compatible endpoints.
  • Accepts unlisted models with a warning instead of rejecting them outright.
  • CLI token counts are now persisted to the session DB for use with /insights.
└──▷ BREAKING ON UPGRADE
  • !Default group gateway sessions now use per-user isolation instead of shared state across users in group chats.
Was this useful?

LangChain

Sources Release notes → langchain-anthropic==1.4.0 NOTES

langchain-anthropic 1.4 adds explicit prompt caching middleware and top-level cache_control delegation for system messages and tool definitions.

└──▷ GET THIS VERSION
$ git clone --branch langchain-anthropic==1.4.0 https://github.com/langchain-ai/langchain.git
# already have the repo? check out this version:
$ git checkout langchain-anthropic==1.4.0
  • Adds AnthropicPromptCachingMiddleware to automatically apply explicit caching to system messages and tool definitions, reducing redundant token processing.
  • Delegates the cache_control kwarg to the Anthropic top-level parameter, enabling direct cache control over API calls.
Was this useful?

PydanticAI

Sources Release notes → v1.69.0 NOTES

PydanticAI v1.69.0 adds agent descriptions for tracing, multimodal tool results, and response-based FallbackModel support.

└──▷ GET THIS VERSION
$ git clone --branch v1.69.0 https://github.com/pydantic/pydantic-ai.git
# already have the repo? check out this version:
$ git checkout v1.69.0
└──▷ USE IT
Attach a human-readable description to an agent so tracing spans carry meaningful context in your observability backend.
python
agent = Agent(model='openai:gpt-4o', description='Summarises customer support tickets and routes to the correct team')
  • Adds response-based fallback support to FallbackModel, enabling fallback logic driven by the model response rather than only on errors.
  • Sends multimodal tool results to APIs directly as a single part instead of splitting them into user parts.
Was this useful?
◆  AI Coding Agents

Anthropic Claude Code

Sources Release notes → v2.1.78 2 RELEASES · 2026-03-17 NOTES STABLE

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

Claude Code v2.1.78 adds a StopFailure hook, plugin persistent state, and frontmatter-driven agent configuration.

└──▷ GET THIS VERSION
$ git clone --branch v2.1.78 https://github.com/anthropics/claude-code.git
# already have the repo? check out this version:
$ git checkout v2.1.78
└──▷ USE IT
Trigger a Slack alert or pager when a session dies mid-run due to a rate limit or auth failure.
json
# In your Claude Code hooks config, add a StopFailure handler:
{
  "hooks": {
    "StopFailure": "notify-on-error.sh"
  }
}
Add a custom internal model (e.g. a fine-tune) to the /model picker so teammates can select it by name.
$ export ANTHROPIC_CUSTOM_MODEL_OPTION=my-org/claude-fine-tune-v1
export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="FineTune v1"
export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Internal security-tuned variant"
claude
Store plugin state across updates so that user preferences or cached data persist after a /plugin upgrade.
$ # Inside your plugin script, write persistent data to the provided path:
echo '{"last_scan": "2025-01-01"}' > "${CLAUDE_PLUGIN_DATA}/state.json"
  • New StopFailure hook event fires when a turn ends due to an API error (rate limit, auth failure, etc.), enabling automated error-handling workflows.
  • New ${CLAUDE_PLUGIN_DATA} variable provides plugins a persistent state directory that survives plugin updates; /plugin uninstall now prompts before deleting it.
  • Plugin-shipped agents can now declare effort, maxTurns, and disallowedTools in frontmatter for per-agent configuration.
  • New ANTHROPIC_CUSTOM_MODEL_OPTION env var adds a custom entry to the /model picker, with optional _NAME and _DESCRIPTION suffix vars for display.
  • Terminal notifications (iTerm2/Kitty/Ghostty popups, progress bar) now propagate to the outer terminal when Claude Code runs inside tmux with set -g allow-passthrough on.
+1 moreshow less
  • Response text now streams line-by-line as it is generated.
1 more release in this issue · 2026-03-17
v2.1.77 NOTES STABLE

Claude Code v2.1.77 raises output token limits to 128k, adds allowRead sandbox setting, and improves /copy, plugins, and agent resumption.

└──▷ GET THIS VERSION
$ git clone --branch v2.1.77 https://github.com/anthropics/claude-code.git
# already have the repo? check out this version:
$ git checkout v2.1.77
└──▷ USE IT
Re-allow read access to a specific path inside a broader denyRead region for fine-grained sandbox control.
yaml
# In your Claude Code sandbox config:
denyRead: ["/home/user"]
allowRead: ["/home/user/project"]
Retrieve a specific earlier assistant response — useful when you want to copy a response from several turns ago without scrolling.
$ /copy 3
Validate a plugin's frontmatter and hooks config before publishing to catch schema and YAML errors early.
$ claude plugin validate ./my-plugin
  • Raises default max output tokens for Claude Opus 4.6 to 64k, and the upper bound for Opus 4.6 and Sonnet 4.6 models to 128k tokens.
  • New allowRead sandbox filesystem setting lets you re-allow read access within denyRead regions for fine-grained filesystem control.
  • /copy now accepts an optional index — /copy N copies the Nth-latest assistant response.
  • Renames /fork to /branch (/fork remains as an alias).
  • Background bash tasks are now killed if output exceeds 5 GB, preventing runaway processes from filling disk.
+8 moreshow less
  • Sessions are now auto-named from plan content when you accept a plan.
  • Improved claude plugin validate to check skill, agent, and command frontmatter plus hooks/hooks.json, catching YAML parse errors and schema violations.
  • Headless mode plugin installation now composes correctly with CLAUDE_CODE_PLUGIN_SEED_DIR.
  • Shows a notice when apiKeyHelper takes longer than 10s, preventing it from blocking the main loop.
  • Faster startup on macOS (~60 ms) by reading keychain credentials in parallel with module loading.
  • Faster --resume on fork-heavy and very large sessions — up to 45% faster loading and ~100–150 MB less peak memory.
  • [VSCode] Plan preview tab titles now use the plan's heading instead of 'Claude's Plan'.
  • [VSCode] Footer now points to the macOptionClickForcesSelection setting when option+click doesn't trigger native selection on macOS.
└──▷ BREAKING ON UPGRADE
  • !The Agent tool no longer accepts a resume parameter — use SendMessage({to: agentId}) to continue a previously spawned agent.
Was this useful?

Charm Crush

Sources Release notes → v0.50.1 NOTES

Glamourous agentic coding for all

Crush v0.50.1 adds support for OpenAI GPT-5.4 Mini and GPT-5.4 Nano, with Nano as the new default small model.

└──▷ GET THIS VERSION
$ git clone --branch v0.50.1 https://github.com/charmbracelet/crush.git
# already have the repo? check out this version:
$ git checkout v0.50.1
  • Adds support for OpenAI GPT-5.4 Mini and GPT-5.4 Nano models.
  • Sets GPT-5.4 Nano as the new default small model for OpenAI.
Was this useful?

GitHub Copilot CLI

Sources Release notes → v1.0.7 NOTES

GitHub Copilot CLI v1.0.7 adds GPT-5.4-mini, a subagentStart hook, experimental SDK session APIs, and a new 'customize' system message mode.

└──▷ GET THIS VERSION
$ git clone --branch v1.0.7 https://github.com/github/copilot-cli.git
# already have the repo? check out this version:
$ git checkout v1.0.7
└──▷ TRY IT
Override a specific section of the system prompt without replacing the entire message — useful for tailoring assistant behavior per project.
$ # In your system message config, set mode to 'customize' to enable section-level overrides
Use the subagentStart hook to inject extra context (e.g. project metadata) whenever a subagent is spawned during a multi-agent workflow.
$ # Register a subagentStart hook in your SDK session setup to supply additional prompt context to each spawned subagent
  • Adds customize mode to system message config for section-level system prompt overrides.
  • Adds experimental SDK session APIs to list and manage skills, MCP servers, and plugins, with optional config auto-discovery from the working directory.
  • Adds subagentStart hook that fires when a subagent is spawned, supporting injection of additional context into the subagent's prompt.
  • Adds support for the gpt-5.4-mini model in the model picker.
  • Branch indicator in the header now distinguishes unstaged changes (*), staged changes (+), and untracked files (%).
+2 moreshow less
  • Double-Esc clears input when text is present, or triggers undo when the prompt is empty, with a hint shown after the first Esc.
  • Pro and trial users now see all models they are entitled to in the model picker.
Was this useful?

Google gemini-cli

Sources Release notes → v0.34.0 NOTES

An open-source AI agent that brings the power of Gemini directly into your terminal.

gemini-cli v0.34.0 adds LXC and gVisor sandboxing, tracker CRUD tools, loop detection, AI Gateway auth, and a custom footer command.

└──▷ GET THIS VERSION
$ git clone --branch v0.34.0 https://github.com/google-gemini/gemini-cli.git
# already have the repo? check out this version:
$ git checkout v0.34.0
└──▷ TRY IT
Connect to an AI Gateway-authenticated ACP endpoint instead of direct Gemini API access.
$ gemini --acp
  • Adds experimental LXC container sandbox support for isolating agent execution.
  • Adds native gVisor (runsc) sandboxing support as a new sandbox backend.
  • Adds tracker CRUD tools and visualization for managing task tracking within sessions.
  • Implements iterative loop detection with model feedback to reduce repetitive agent loops.
  • Adds custom footer configuration via the /footer command.
+9 moreshow less
  • Adds AI Gateway auth support for ACP connections.
  • Improves @file autocomplete to prioritize filenames for faster file referencing.
  • Ships an esbuild bundle in the npm package for faster installs and startup.
  • Implements a unified KeychainService and migrates token storage to it.
  • Adds concurrency safety guidance for subagent delegation in core.
  • Dynamically generates all keybinding hints in the UI.
  • Implements Clearcut logging for startup statistics in telemetry.
  • Adds fallback to Gemini 2.5 models when the current model lacks tool-call access.
  • Promotes --acp flag (previously --experimental-acp) to stable, removing the experimental prefix.
└──▷ BREAKING ON UPGRADE
  • !The --experimental-acp flag is renamed to --acp; scripts using --experimental-acp will break.
Was this useful?
◆  AI Model & Data Infrastructure

Ollama

Sources Release notes → v0.18.1 NOTES

Get up and running with Kimi-K2.6, GLM-5.2, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.

Ollama v0.18.1 adds web search/fetch for OpenClaw and headless mode for ollama launch.

└──▷ GET THIS VERSION
$ git clone --branch v0.18.1 https://github.com/ollama/ollama.git
# already have the repo? check out this version:
$ git checkout v0.18.1
└──▷ TRY IT
Run a CI pipeline step that asks a cloud model to review a repository without any interactive prompts.
$ ollama launch claude --model kimi-k2.5:cloud --yes -- -p "how does this repository work?"
Add web search to an already-configured OpenClaw instance so models can retrieve live content during sessions.
$ openclaw plugins install @ollama/openclaw-web-search
Spin up OpenClaw with Ollama's official auth and model provider to enable web search and fetch in an interactive session.
$ ollama launch openclaw
  • Adds web search and web fetch plugin for OpenClaw via ollama launch openclaw, enabling local and cloud models to retrieve and extract readable web content.
  • Supports installing the web search capability directly into an existing OpenClaw setup with openclaw plugins install @ollama/openclaw-web-search.
  • Adds non-interactive (headless) mode to ollama launch via --yes flag and required --model argument, enabling automated pipelines, CI/CD security checks, and scripted prompt evaluation.
  • Enables OpenClaw subagent task execution in headless mode for automated multi-step workflows.
Was this useful?
◆  Local LLM Runtimes

llama.cpp

Sources Release notes → b8400 4 RELEASES · 2026-03-17 NOTES STABLE

llama.cpp b8400 adds Hexagon HVX ops (neg, exp, sigmoid, softplus, CONT, REPEAT) enabling Qwen 3.5 DeltaNet linear attention on-device.

└──▷ GET THIS VERSION
$ git clone --branch b8400 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b8400
  • Adds neg, exp, sigmoid, softplus, CONT, and REPEAT element-wise ops to the Hexagon HVX backend, enabling Qwen 3.5 DeltaNet linear attention layers on Qualcomm hardware.
  • Hexagon REPEAT op supports f32 and f16 types with multi-threaded execution via the worker pool, parallelizing across output rows using memcpy per tile.
  • Hexagon CONT op reuses existing CPY infrastructure to make tensors contiguous on-device without a separate kernel.
3 more releases in this issue · 2026-03-17
b8391 NOTES STABLE

Vulkan backend gains GGML_VK_ALLOW_GRAPHICS_QUEUE env var to opt back into graphics-queue execution on AMD GPUs.

└──▷ GET THIS VERSION
$ git clone --branch b8391 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b8391
  • Adds GGML_VK_ALLOW_GRAPHICS_QUEUE environment variable to override the new default of avoiding graphics queues on non-RADV AMD drivers and small GPUs, re-enabling the transfer queue when the graphics queue is not used.
└──▷ BREAKING ON UPGRADE
  • !The Vulkan backend no longer uses the graphics queue by default on non-RADV AMD drivers and small GPUs; workloads that relied on graphics-queue execution will now use compute/transfer queues unless GGML_VK_ALLOW_GRAPHICS_QUEUE is set.
b8389 NOTES STABLE

llama.cpp b8389 adds refusal content support to the Responses API in tools/server.

└──▷ GET THIS VERSION
$ git clone --branch b8389 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b8389
  • Adds refusal content support to the Responses API in tools/server.
b8388 NOTES STABLE

llama.cpp b8388 adds support for the Mistral Small 4 model.

└──▷ GET THIS VERSION
$ git clone --branch b8388 https://github.com/ggml-org/llama.cpp.git
# already have the repo? check out this version:
$ git checkout b8388
  • Adds Mistral Small 4 model support via convert_hf_to_gguf.py.
Was this useful?
Other / Uncategorized
◆  AI OBSERVABILITY

Langfuse

Sources Release notes → v3.160.0 NOTES

Langfuse v3.160.0 adds OpenTelemetry Pydantic gen AI system instructions mapping, blob storage export failure email alerts, and Gemini Live 2.5 Flash Native Audio pricing.

└──▷ GET THIS VERSION
$ git clone --branch v3.160.0 https://github.com/langfuse/langfuse.git
# already have the repo? check out this version:
$ git checkout v3.160.0
  • Adds ai.system instructions mapping for Pydantic gen AI spans via OpenTelemetry (feat(otel): pydantic gen ai.system instructions mapping).
  • Sends email notifications to project admins when a blob storage export job fails.
  • Adds model pricing for gemini-live-2.5-flash-native-audio.
Was this useful?
my-toolchain — 0 tools
paste an install list to detect your tools

A brew list, a Brewfile, requirements.txt, a Dockerfile — or just the product names, free-form. Nothing leaves your browser.

    browse all tools →