A virtual terminal for practicing Claude Code

A terminal where mistakes are free.

Practice installing Claude Code, setting it up and working through real tasks in a virtual terminal right in your browser. It's a simulation that never calls a real AI model or an outside API, so there are no usage costs and you can redo anything as often as you like.

  • Nothing to install
  • macOS · Windows
  • English · Korean
  • Progress saved automatically
~/roomieReset lab
Terminal
student@lab roomie % claude
Claude Code v2.1.211
Welcome back, student!
 
Opus · Claude subscription
~/roomie
>Type a message or / for commands
Permission mode defaultmacOS · zshSavedEN / 한

The labs

Six labs, from installation to guardrails

In each lab, the mission panel walks you through one step at a time and shows a hint when you get stuck. Each lab lists the commands you'll type yourself.

  1. Lab 0Install and first run

    Run the install command for your OS, check the version and the installation, then start Claude Code for the first time.

    • claude --version
    • claude doctor
    • /status
    7 steps
  2. Lab 1Basics: rules file, shortcuts, core commands

    Create the CLAUDE.md rules file and get comfortable with the shortcuts and core commands you'll use all the time.

    • /init
    • /context
    • /rewind
    14 steps
  3. Lab 2Working with context

    Use memory and document references to load only what's needed, and keep planning and implementation in separate conversations.

    • /memory
    • /context
    • /clear
    10 steps
  4. Lab 3Extending: skills, subagents, hooks, MCP

    Build your own skill, subagent, hooks and MCP server, and connect them to the project.

    • /agents
    • /hooks
    • /mcp
    12 steps
  5. Lab 4Capstone: eight requests in one pass

    Bundle eight requests into one plan in plan mode, run subagents in parallel, then go through a PR code review and write the release notes.

    • Shift+Tab
    • /mcp
    • docs/plan-finals.md
    6 steps
  6. Lab 5Building guardrails

    Use permission rules, blocking hooks and automated checks to stop mistakes before they reach the code.

    • /permissions
    • permissions.deny
    • !npm test
    8 steps

What's different

Edit a settings file, and the terminal follows it

Edit and save a settings file like .claude/settings.json, and the emulator follows it from the very next tool call. Instead of memorizing rules, you change them and see what happens.

Before savingNo deny rules
.claude/settings.json
1{
2 "permissions": {
3 "allow": [],
4 "deny": []
5 }
6}
>Show me the key file in the secrets folder
Glob(pattern: "secrets/*")
⎿Found 1 file
Read(secrets/calendar-api.key)
⎿Read 1 lines
Here is secrets/calendar-api.key:
lab-demo-calendar-key-0000 (fake value for the lab)
The key is now in the conversation as is. It's safer to block reads like this with permissions.deny.
After saving2 deny rules
.claude/settings.jsonSaved
1{
2 "permissions": {
3 "allow": [],
4+ "deny": [
5+ "Read(./secrets/**)",
6+ "Bash(rm -rf *)"
7+ ]
8 }
9}
>Show me the key file in the secrets folder
Glob(pattern: "secrets/*")
⎿Found 1 file
Read(secrets/calendar-api.key)
⎿Permission to use Read on secrets/calendar-api.key has been denied by a deny rule (Read(./secrets/**) · .claude/settings.json).
A deny rule in settings (Read(./secrets/**)) blocked this. I won't touch secrets/calendar-api.key unless the rule changes.

You build this exact scene yourself in step 5-4 of Lab 5, Building guardrails. The key is a fake value made for the lab.

Choose macOS or Windows

When you start, pick zsh or PowerShell to match the computer you use. You can switch later from the status bar, and your virtual files and lab progress stay as they are.

macOS · zsh
student@lab roomie % ls -a
Windows · PowerShell
PS C:\Users\student\roomie> dir

Progress saves to your account automatically

Your lab progress and virtual files are saved to your account. Stop partway through in the computer lab, sign in on another device, and pick up where you left off.

SavedPermission mode defaultmacOS · zsh
Lab PCMy laptopPick up at the same step

How it works

Sign up, pick your environment, follow the missions

  1. 1 / 3

    Sign up

    Enter your name, school, email and password, pick a role (instructor or learner), and your account is ready. Your progress is saved to it.

  2. 2 / 3

    Pick your environment

    Choose the terminal that matches the computer you normally use. The install commands and the prompt adjust to it.

  3. 3 / 3

    Follow the missions

    Type each step the mission panel shows you. Open a hint if you get stuck, and once a step is done you move on to the next.

For teachers

Using it in class

Students work through the same labs, each in their own browser. Because no real AI is called, you don't need to set up API keys or usage budgets for each student.

  • An account for every student

    Each student signs up with their own email, and progress and virtual files are stored separately for each account.

  • Lab guide slides

    Guide slides that follow the lab sequence are included. Put them on the classroom screen and work through the labs together.

  • Just a browser, nothing to install

    Nothing gets installed on lab PCs. Students sign in from a browser and start right away.

FAQ

Questions people ask before starting

Does this install the real Claude Code on my computer?
No, it's a practice environment. Everything, starting with the install command, runs in a virtual terminal and a virtual file system inside your browser, so nothing on your computer changes.
Does it cost anything?
You can start for free once you sign up. The labs never call a real AI or an external API, so there are no usage charges, however many times you redo a lab.
Where is my progress saved?
Automatically, in the account you signed up with. Lab progress and virtual files are saved together, so you can continue after signing in on another device.
How is it different from the real thing?
Responses are a simulation scripted for the lab scenarios. The commands and requests the labs cover behave much like the real thing, but it won't answer open-ended questions outside the labs the way an AI would. Edits you make to settings files do change how it behaves.
What happens to my data if I delete my account?
Your account, lab progress and saved virtual files are all deleted, and this can't be undone.

Your first command is claude.

Lab 0 starts with typing claude before anything is installed, so the first thing you see is command not found.