How to Set Up Your Terminal for AI-Assisted Development
If you’re using AI coding tools in your terminal, your setup matters. The right configuration reduces friction and lets you focus on the work instead of fighting your environment. Here’s how to set things up.
Shell basics
Most AI terminal tools work with any modern shell. If you’re on macOS, you’re likely using zsh (the default since Catalina). On Linux, bash is common, though many developers prefer zsh or fish.
For AI-assisted development, your shell choice doesn’t matter much — what matters is that your environment is clean and your tools are accessible.
Essential setup
Make sure these are in place:
- Git — AI agents create branches, commit changes, and work with your repo. Keep git updated and configured with your name and email.
- Node.js / Python / your language runtime — The AI agent may need to run your project’s tools (test runners, linters, build systems).
- A package manager — Homebrew on macOS, apt on Ubuntu. AI agents sometimes need to install dependencies.
Shell configuration
Add frequently used project directories as aliases or shortcuts. When you’re jumping between projects with an AI agent, quick navigation saves time:
# Quick project access
alias p="cd ~/projects"
# Start Claude Code in a project
function cc() {
cd ~/projects/$1 && claude
}
Terminal emulator choice
Your terminal emulator affects how comfortable the AI-assisted workflow feels. Key things to look for:
- Multiple tabs/panes — You’ll want separate sessions for different projects or tasks.
- Good scrollback — AI agents produce a lot of output. You need to scroll back through what happened.
- Fast rendering — AI output can come in large bursts. A slow terminal makes the experience laggy.
Popular options include iTerm2 (macOS), Alacritty (cross-platform), Kitty (cross-platform), and Windows Terminal (Windows).
For Claude Code specifically, Crystl is a macOS terminal built around the AI agent workflow. It manages approval requests through floating panels, organizes projects into dedicated workspaces, and preserves full conversation history. If you’re running Claude Code as your primary development tool, it’s purpose-built for that use case.
Working with AI agents effectively
One task, one session
Give each Claude Code session a focused task. “Add user authentication” is better than “work on the app.” Focused sessions produce better results and are easier to track.
Use git branches
Start a new branch before asking an AI agent to make changes. If the result isn’t what you want, you can discard the branch cleanly:
git checkout -b feature/auth
claude "add JWT authentication to the API"
Review before approving
Read the proposed changes before hitting Allow. AI agents are good but not perfect — a quick review catches issues early. Most AI terminal tools show you exactly what will change before applying it.
Run tests frequently
Tell the AI agent to run your test suite after making changes. This catches regressions immediately:
Run the tests and fix any failures
Manage multiple sessions
When you’re working across multiple projects or running multiple agents on the same project, organization becomes critical. Without it, you lose track of what each session is doing.
Options for managing multiple sessions:
- tmux / screen — Terminal multiplexers that let you split your terminal and switch between sessions. Powerful but manual.
- Multiple terminal windows — Simple but gets chaotic fast with more than 3-4 sessions.
- Purpose-built tools — Crystl organizes Claude Code sessions into project workspaces with visual tracking. It uses git worktrees for parallel agents so multiple Claude instances can work on the same repo without conflicts.
Environment variables and secrets
AI agents can see your terminal environment. Be mindful of what’s in your shell:
- Don’t put secrets in shell history. Use
.envfiles or a secrets manager instead of passing API keys as command arguments. - Use
.envfiles with.gitignore. AI agents respect.gitignore— they won’t commit your secrets if your.envis ignored. - Review bash commands before approving. When an AI agent wants to run a shell command, read it carefully. This is especially important for commands that interact with external services.
Recommended workflow
A solid daily workflow for AI-assisted development:
- Open your terminal (or Crystl if you’re on macOS)
- Navigate to your project and start a new branch
- Start Claude Code:
claude - Describe your task clearly
- Review and approve each action
- Run tests when the task is complete
- Review the diff before committing
- Merge when you’re satisfied