Yesterday we tightened our safeguards against spoofing the Claude Code harness after accounts were banned for triggering abuse filters from third-party harnesses using Claude subscriptions.
Third-party harnesses using Claude subscriptions create problems for users and are prohibited by our Terms of Service.
They generate unusual traffic patterns without any of the usual telemetry that the Claude Code harness provides, making it really hard for us to help debug when they have questions about rate limit usage or account bans and they don’t have any other avenue for this support.
This is why the supported way to use Claude in your own tools is via the API. We genuinely want people building on Claude, including other coding agents and harnesses, and we know developers have broad preferences for different tool ergonomics.
If you're a maintainer of a third-party tool and want to chat about integration paths, my DMs are open.
We've also heard it wasn't clear enough to end users that this was a ToS violation, and that's on us. We'll make it clearer in the OAuth screen going forward.
We’ve lifted all bans we're aware of that were caused by this issue, please DM me your email if you were banned due to this and haven’t been reinstated.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
We built a Deep Research demo for the Claude Agent SDK!
It's one our most requested use cases: spawn multiple AI agents to research a topic in parallel, then synthesize their findings into a report.
🧵 on how it works:
At a high level:
- the main agent breaks your request into 2-4 subtopics
- it spawns researcher subagents in parallel to search the web
- each researcher saves findings to files/research_notes
- the main agent then spawns report-writer to create final report in files/reports
Using files is a great way of handling subagent communication.
Research subagents can save their findings to files and then the main agent can search across them to make sure the relevant information has been found.
Last week we shared about how you can use code generation to compose tools.
But code generation can also give your agents new capabilities- like proactively acting on your behalf.
In this case, I want to make an email agent that processes my emails.
Running an agent on every email I receive would be slow & unpredictable, so instead I'm allowing the user to generate callbacks that are called when I get an email.
Here's an example generated function:
When doing code generation, I like to think in terms of files that execute, instead of evaluating code in a repl. Files allow Claude to verify its work, create helper scripts, etc.
In my email agent, listeners are scripts in a folder that store logs as well.
This week we made subagents resumable, added a Plan subagent, introduced prompt based stop hooks, fixed several high priority bugs & much more across the CLI, web and SDK.
We're also replacing output styles with with more powerful alternatives:
Next week, we're replacing output styles in Claude Code.
We found in practice that less than 1% of users actively used output styles, and they can be recreated through other extension points via plugins.
Around November 5th, your user-level output styles will be converted automatically to a plugin.
You can recreate your own output styles by using hooks that append to the system prompt. See an example here: