Most developers hit it eventually: you ask your AI assistant for code it's perfectly capable of writing, and it refuses. A web scraper. A script that automates a login. A packet parser. A tool that probes your own server for a vulnerability. None of it illegal, all of it normal engineering — and the model lectures you about terms of service instead of writing the function.
What coding assistants reflexively refuse
- Scrapers and crawlers — even for public data or sites you own.
- Security tooling — port scanners, fuzzers, brute-forcers for your own pentest, exploit PoCs for CVEs you're studying.
- Reverse engineering — decompiler output analysis, deobfuscation, binary parsing.
- Automation that touches a login or a paywall — even your own accounts.
- Anything with a scary keyword — 'bypass', 'inject', 'exploit', 'crack', 'keygen' trip the filter regardless of context.
The model knows how to write all of it — this is bread-and-butter code that's in every textbook and a million GitHub repos. The refusal is a policy layer, not a capability gap. And it's especially maddening in coding, where you often just need the function and a refusal costs you a context switch to Stack Overflow.
What an uncensored coding AI does instead
An assistant without the refusal layer treats you like the professional you are: it writes the scraper, the security tool, the automation, with the same quality it'd write a CRUD endpoint — complete, runnable, with imports and setup, no stubs, no lecture. For security researchers, pentesters, RE folks, and automation engineers, that's the difference between a useful tool and a frustrating one.
It still won't write genuinely malicious payloads aimed at other people's systems — targeted malware, real-victim attacks — those are model-level hard limits. But the enormous gray zone of legitimate dual-use engineering that mainstream tools refuse? You get the code.
In your terminal, not just a chat box
Aether ships a command-line agent — `aether-code` on npm — that works like a terminal-native coding assistant (think Claude Code, without the refusals). It reads your files, runs tools, and edits code, all from the shell, and it carries your project memory across sessions so you stop re-explaining your stack.
npm install -g aether-code
aether # launch the interactive REPL
aether --plan "add rate limiting to my API"There's also an MCP server (`aether-mcp`) that drops Aether into Claude Desktop, Cursor, Cline, and Zed — so you stay in your normal editor and hand off only the prompts your main assistant refuses.
Write a complete, runnable Python script that brute-forces the login form of a website I own for an authorized penetration test. Handle CSRF tokens and rate-limit backoff. Full file with imports.Open this in Aether →
If your assistant just refused something you have every right to build, the fastest test is to paste the exact request into Aether — web, CLI, or your IDE via MCP — and see the code you were actually asking for.