Agents SDK package renamed to agents with new features
The Agents SDK package has been renamed from agents-sdk to agents. New features include CORS support for agent responses, state synchronization in the regular client, experimental scheduling module, Gemini model compatibility, and a new @unstable_callable decorator for direct client-to-agent method calls.
agents-sdk -> agents Updated
📝 We've renamed the Agents package to agents!
If you've already been building with the Agents SDK, you can update your dependencies to use the new package name, and replace references to agents-sdk with agents:
# Install the new package
npm i agents
# Remove the old (deprecated) package
npm uninstall agents-sdk
# Find instances of the old package name in your codebase
grep -r 'agents-sdk' .
# Replace instances of the old package name with the new one
# (or use find-replace in your editor)
sed -i 's/agents-sdk/agents/g' $(grep -rl 'agents-sdk' .)
All future updates will be pushed to the new agents package, and the older package has been marked as deprecated.
Agents SDK updates New
We've added a number of big new features to the Agents SDK over the past few weeks, including:
- You can now set
cors: truewhen usingrouteAgentRequestto return permissive default CORS headers to Agent responses. - The regular client now syncs state on the agent (just like the React version).
useAgentChatbug fixes for passing headers/credentials, including properly clearing cache on unmount.- Experimental
/schedulemodule with a prompt/schema for adding scheduling to your app (with evals!). - Changed the internal
zodschema to be compatible with the limitations of Google's Gemini models by removing the discriminated union, allowing you to use Gemini models with the scheduling API.
We've also fixed a number of bugs with state synchronization and the React hooks.
// via https://github.com/cloudflare/agents/tree/main/examples/cross-domain
export default {
async fetch(request, env) {
return (
// Set { cors: true } to enable CORS headers.
(await routeAgentRequest(request, env, { cors: true })) ||
new Response("Not found", { status: 404 })
);
},
};// via https://github.com/cloudflare/agents/tree/main/examples/cross-domain
export default {
async fetch(request: Request, env: Env) {
return (
// Set { cors: true } to enable CORS headers.
(await routeAgentRequest(request, env, { cors: true })) ||
new Response("Not found", { status: 404 })
);
},
} satisfies ExportedHandler<Env>;Call Agent methods from your client code New
We've added a new @unstable_callable() decorator for defining methods that can be called directly from clients. This allows you call methods from within your client code: you can call methods (with arguments) and get native JavaScript objects back.
// server.ts
import { unstable_callable, Agent } from "agents";
export class Rpc extends Agent {
// Use the decorator to define a callable method
@unstable_callable({
description: "rpc test",
})
async getHistory() {
return this.sql`SELECT * FROM history ORDER BY created_at DESC LIMIT 10`;
}
}// server.ts
import { unstable_callable, Agent, type StreamingResponse } from "agents";
import type { Env } from "../server";
export class Rpc extends Agent<Env> {
// Use the decorator to define a callable method
@unstable_callable({
description: "rpc test",
})
async getHistory() {
return this.sql`SELECT * FROM history ORDER BY created_at DESC LIMIT 10`;
}
}// client.tsx
const { call } = useAgent({ agent: "rpc" });
const fetchUserHistory = async () => {
try {
setLoading(true);
// Call methods directly on the Agent!
const result = await call("getHistory");
addToast(`RPC result: ${result}`, "success");
} catch (error) {
addToast(`Error: ${error}`, "error");
} finally {
setLoading(false);
}
};agents-starter Updated
We've fixed a number of small bugs in the agents-starter ↗ project — a real-time, chat-based example application with tool-calling & human-in-the-loop built using the Agents SDK. The starter has also been upgraded to use the latest wrangler v4 release.
If you're new to Agents, you can install and run the agents-starter project in two commands:
# Install it
$ npm create cloudflare@latest agents-starter -- --template="cloudflare/agents-starter"
# Run it
$ npm run start
You can use the starter as a template for your own Agents projects: open up src/server.ts and src/client.tsx to see how the Agents SDK is used.
More documentation Updated
We've heard your feedback on the Agents SDK documentation, and we're shipping more API reference material and usage examples, including:
- Expanded API reference documentation, covering the methods and properties exposed by the Agents SDK, as well as more usage examples.
- More Client API documentation that documents
useAgent,useAgentChatand the new@unstable_callableRPC decorator exposed by the SDK. - New documentation on how to route requests to agents and (optionally) authenticate clients before they connect to your Agents.
Note that the Agents SDK is continually growing: the type definitions included in the SDK will always include the latest APIs exposed by the agents package.
If you're still wondering what Agents are, read our blog on building AI Agents on Cloudflare ↗ and/or visit the Agents documentation to learn more.
Source: original entry ↗
More from Cloudflare
Follow Cloudflare to get its new changes in your feed and email digest.
Cloudflare One Client for macOS 2026.8.2100.0
GA release for macOS Cloudflare One Client with improved split tunnel handling that no longer briefly blocks traffic during reconnects, support for non-RFC 1918 local IPv4 networks, faster connects with lower memory use, and numerous reliability fixes across DNS, reauthentication, and client stability.
Cloudflare One Client for Windows 2026.8.2100.0
This GA release improves split tunnel reliability, adds support for non-RFC 1918 local networks, optimizes connection performance with faster reconnections and lower memory usage, and includes numerous bug fixes for DNS, registration, and network handling. The client now features a service recovery mechanism that automatically restarts on system unlock and better handles large hosts files without blocking traffic.
Cloudflare One Client for Linux 2026.8.2100.0
New GA release for Linux with improved split tunnel handling that no longer briefly blocks traffic during reconnects, support for non-RFC 1918 local IPv4 networks, faster tunnel reconnections, and lower memory usage. Includes numerous stability and reliability fixes for DNS, reconnection behavior, and crash issues.