claude code codex guide

Claude Code · Codex · Git · Sessions · Daily Workflow

🔧 1. The tools

Claude Code
Full project collaborator. Reads your whole codebase. Best for building features, debugging, starting projects.
Codex
Fast focused assistant. Best for quick edits and single tasks. Not for deep multi-file work.
Two versions each
Both come as a desktop app and a terminal version. Same rules apply to both.
Use Claude Code for big work. Use Codex for quick tasks. When in doubt, use Claude Code. All guidance in this guide applies to both desktop apps and terminal.

📁 2. Folders

Both tools only see files inside the folder you open. That folder is their entire world.

One project = one folder. Always.
Never mix unrelated projects in the same folder. Keep them separate:

C:\Users\YourName\clearview-extension\
C:\Users\YourName\ai-os-project\
C:\Users\YourName\dbrleads-pipeline\
Common mistake: Opening a parent folder that holds multiple projects. The AI sees everything and gets confused. Always open the specific project folder.
CLAUDE.md — Claude Code reads this automatically every session. Put: what the project is, tech it uses, important file locations, rules you want followed.

STATUS.md — Your living progress log. What's working, what failed, current state, next step. Ask the AI to update it at the end of every session. Start the next session with: "Read STATUS.md and CLAUDE.md, continuing from yesterday."

▶️ 3. Starting a session

Claude Code desktop
Codex desktop
Terminal
Open app → Open Folder → navigate to your specific project folder → verify your files appear in the sidebar → new session → describe your goal in one sentence.
Open app → point at your project folder or specific file → give it one focused task. Treat each Codex prompt as a single command, not an ongoing conversation.
cd C:\Users\YourName\your-project-name Confirm with ls or dir, then:
claude   ← for Claude Code
codex    ← for Codex
To end: type /exit or press Ctrl+C
Always start with one sentence of context: "Read STATUS.md and CLAUDE.md. Today I want to [specific goal]." One goal per session.

💬 4. Sessions — when to end, when to continue

Sessions have memory — but only within that session. Long sessions fill up that memory and the AI gets slower, forgets decisions, and starts looping.

Continue same session
Still on the same goal · Need it to remember earlier decisions · Making clear progress · Same day, responses still sharp
Start new session
Session is 2+ days old · Starting a new feature or bug · AI is looping or contradicting itself · Keep re-explaining things it already knew
Safe default: one day = one session. A fresh session with a good handoff beats a stale multi-day session every time.
Before closing: Ask — "Summarize what we did, what worked, what didn't, current state, and next step. Update STATUS.md."

Opening new session: "Read STATUS.md and CLAUDE.md. Continuing from yesterday. Today I want to [goal]."

Claude Code reads your files directly — no pasting needed when STATUS.md is up to date.
It's suggesting fixes you already tried
It "forgot" a decision from earlier in the same session
Responses got vague or generic
It contradicts what it said an hour ago
You've been at it for 2+ days

What to do: Stop, update STATUS.md, end the session, start fresh.

📷 5. Git — your undo button

Git saves snapshots of your project folder. If the AI breaks something, restore the snapshot. Takes 5 seconds.

Commit
A named snapshot of all your files. You can return to any commit instantly.
git add .
Selects all changed files for the next snapshot. Always run before committing.
git checkout .
Restores everything to your last commit. The AI's mess is gone.
Open PowerShell — these are just labels, nothing is sent anywhere:
git config --global user.name "Jason"
git config --global user.email "you@example.com"
Done forever on this machine.
Claude Code desktop
Codex desktop
Terminal
Ask Claude Code: "Initialize Git in this project and make an initial commit called 'initial save'." It runs everything for you. Or use the built-in terminal panel:git init
git add .
git commit -m "initial save"
Ask Codex: "Initialize Git in this folder and commit everything as 'initial save'." Or flip to PowerShell:cd C:\Users\YourName\your-project
git init
git add .
git commit -m "initial save"
cd C:\Users\YourName\your-project
git init
git add .
git commit -m "initial save"
Claude Code desktop
Codex desktop
Terminal
At the start of your session say: "Before we start, commit everything — message: before session [date]." Claude Code runs it and confirms. Then give it your task.
Flip to PowerShell alongside Codex:git add .
git commit -m "before codex session"
Then flip back and start your task. Or include it in the prompt: "First commit as-is, then [task]."
git add .
git commit -m "before session"
Then launch Claude Code or Codex.
Claude Code desktop
Codex desktop
Terminal
Ask Claude Code: "Undo all changes back to the last commit." Or in the built-in terminal panel: git checkout .
Flip to PowerShell:git checkout .Everything restored. The mess is gone.
git checkout .
You cannot commit too often. 5 seconds per commit. The only mistake is not committing before something goes wrong.

📅 6. Daily workflow

1
Commit first. Before starting — ask Claude Code to commit, or run git add . + git commit in the terminal panel or PowerShell. Safety net in place.
2
Open the right folder. Desktop: open your specific project folder. Terminal: cd into it. Verify you see your files before starting.
3
Start with context. "Read STATUS.md and CLAUDE.md. Today I want to [one specific goal]."
4
Stay focused. One goal per session. New bug discovered? Note it in STATUS.md, address it in the next session.
5
End cleanly. "Update STATUS.md with what we did, what worked, what didn't, and what the next step is." Then commit.
6
Next day: new session. "Read STATUS.md and CLAUDE.md, continuing from yesterday. Today I want to [goal]."
Going sideways? Stop. Run git checkout . to undo. End the session. Start fresh with a more specific prompt. Don't try to fix a broken session by adding more instructions.

🗺️ 7. File map — where everything lives

Every important file and folder, color-coded by what owns it. When you don't know where something lives, start here.

Claude Code Codex Personal ref Projects VPS · Tailscale required
Global config — Claude Code
~\.claude\CLAUDE.md Claude Code Global instructions. Loaded automatically every session, every project.
~\.claude\settings.json Claude Code Permissions, hooks, env vars. Edit via /update-config — don't edit manually.
~\.claude\skills\ Claude Code gstack + superpowers skills. Auto-managed — don't edit manually.
Inside every project folder
[project]\CLAUDE.md Projects Project-specific instructions for Claude Code. Overrides global settings where they conflict.
[project]\STATUS.md Personal ref Living session handoff log. Update at end of every session. Start each new session by reading it.
[project]\.git\ Projects Git history. Auto-managed — don't touch manually.
Codex config
~\.codex\ Codex Codex stores its own config here — completely separate from Claude Code's folder.
Remote VPS  VPS · Tailscale required
/root/hermes-agent/ VPS Hermes AI agent (Dex). Lives on the remote server — not in your Windows file system.
/root/ (Docker containers) VPS N8N, Traefik, and other services run as Docker containers. Managed via SSH.
⚠️ These paths don't exist in your Windows file system. You can't reach them via File Explorer. Tailscale must be running, then connect via ssh root@[your-vps-ip].
The golden rule: Claude Code and Codex use different config file locations by design — there's no way around it. Claude Code reads ~\.claude\ and Codex reads its own folder. Never assume a setting in one applies to the other. This map is your single source of truth.

✅ 8. Cheat sheet

One-time setup
git config --global user.name "Jason"
git config --global user.email "you@email.com"
New project
git initgit add .git commit -m "initial save"
Or ask Claude Code / Codex to do it.
Every session
Before: commit current state
Open: "Read STATUS.md and CLAUDE.md. Today I want to [goal]."
Close: "Update STATUS.md." Then commit final state.
Git commands
Save snapshot: git add . then git commit -m "message"
Undo everything: git checkout .
See all snapshots: git log --oneline
Check what changed: git status
Rules that never change
One project = one folder · One session = one goal
New day = new session + STATUS.md handoff
Stuck? Undo → end session → start fresh
Everything here applies to desktop apps and terminal equally
Key config files
Global Claude Code instructions: ~\.claude\CLAUDE.md
Global settings & permissions: ~\.claude\settings.json
Skills folder: ~\.claude\skills\
Project instructions: [project]\CLAUDE.md
Session handoff log: [project]\STATUS.md
Codex config: ~\.codex\ (separate from Claude Code)