One subtle behaviour of Claude that wasn't obvious to me: whilst each conversation is transient, permissions persist across conversations.
So if you've given permission to run e.g. 'cargo test' or even 'cargo run', you need to be sure that all future invocations are safe too.
You can see the current permissions with /permissions.
Related Posts
I find that I'm choosing AI tools based on the quality of the harness rather than the model.
For example, I'm using Claude Code Web because its model of remote VMs is extremely convenient. I'm using Perplexity because it's tuned really well for web searches.
Anthropic used Claude to write a C compiler in Rust (CCC). I've really enjoyed following the discussion.
The initial post shows how they wrote the harness with GCC as an oracle and a prompt specifying a design using SSA. The author has clear domain expertise.
https://www.anthropic.com/engineering/building-c-compilerLLMs are great at style transfer, and this works surprisingly well for syntactic transformations too.
I rewrote a small website's EJS templates to 1500 LOC of TSX with a oneshot in Claude. It took ~12 minutes, but it just worked.
(TSX seems nicer than EJS for static analysis.)