/init writes a first CLAUDE.md for you.
Run it once in a new repo, then trim the result by hand. With CLAUDE_CODE_NEW_INIT=1 it becomes an interview that also offers skills, hooks and personal memory files.
A line that starts with ! runs as a shell command inside the session.
The output lands in the conversation, so Claude sees it without any copy and paste.
@ followed by a path puts that file into your prompt.
It is faster and more exact than describing where something lives. A ? on an empty prompt lists the other prefixes.
You can pipe any output into a one-shot Claude run.
The piped text is the context, so Claude needs no Bash permission to read it. git diff main | claude -p "..." works the same way.
/import moves your setup over from Codex, Gemini or Cursor.
It migrates instruction files and MCP servers, so switching tools does not mean retyping them.
Claude Code reads your AGENTS.md when no CLAUDE.md exists.
If both exist only CLAUDE.md is read, unless CLAUDE.md imports AGENTS.md. An @AGENTS.md line lets two tools share one file.
claude --safe-mode starts with every customization switched off.
When something behaves strangely, one launch tells you whether CLAUDE.md, a skill, plugin, hook or MCP server is the cause.
Settings files are strict JSON, and one trailing comma stops startup.
Claude Code shows a Settings Error dialog. Add a $schema line so your editor catches the mistake before you do.