Skip to content
zero2vibecodelearn vibe coding
Level 2 · Make it yours 6 min Reviewed by the author · Oct 15, 2026 Verified against Claude Code v2.1.292 · Oct 15, 2026Official docs: Output styles, Status line, /powerupSomething out of date? Tell us

Your way: the status line, output styles and built-in teachers

The status line shows what matters to you at the bottom of the screen — the model, the folder, how full the context is. Output styles change how Claude answers, and /powerup and the Learning style turn it into a teacher.

Level 2 · 0 / 4 lessons0%
In this lesson

The last lesson of the level is about making Claude Code work the way that suits you.

The status line

At the bottom of Claude Code there is a bar — the status line. What it shows is your call: Claude Code runs your script, feeds it JSON about the session, and displays whatever the script prints.

The quickest route is to ask for the script:

/statusline show the model, the folder name and what percentage of the context is used

Or build it by hand. The script reads the JSON and prints one line:

#!/bin/bash
input=$(cat)
MODEL=$(echo "$input" | jq -r '.model.display_name')
DIR=$(echo "$input" | jq -r '.workspace.current_dir')
PCT=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1)
echo "[$MODEL] ${DIR##*/} | ${PCT}% context"

And it is hooked up in your personal settings, ~/.claude/settings.json:

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh"
  }
}

The context percentage in the status line is /context from the first level, always in view.

Output styles

A style changes the way Claude answers:

/output-style learning
  • Explanatory — Claude adds short Insight blocks explaining why it did things the way it did.
  • Learning — the same, plus it leaves you a few lines of key decisions to write: it marks a TODO(human) spot and stops, asking you to fill it in.

The choice is saved in the project’s .claude/settings.local.json. To go back to the normal manner, use /output-style default.

Built-in teachers

  • /powerup — short interactive lessons on Claude Code’s features, right in the terminal.
  • claude-code-guide — the built-in helper for Claude Code itself. Name it in your request: “use the claude-code-guide agent: how do I make my own slash command?” Otherwise Claude may answer from memory, and memory goes stale faster than the docs.

Quick check

You want to see how full the context is at all times, without typing /context. What do you set up?

Careful

Practice in the terminal

Check your understanding

Answered 0/3
Mode:

Where does the status line get its information about the session?

How is the Learning style different from Explanatory?

How do you reliably ask about Claude Code's own features?

Finish the task in the terminal and answer the questions to complete the lesson.

📝 My notes

Saved automatically in this browser · shows up on the Notes page.

Task

Hook up your own status line: in your personal settings, ~/.claude/settings.json, point it at the script ~/.claude/statusline.sh.

Tab complete · ↑ history · Ctrl+L clear · help commands

  • Not done: Your personal settings have a statusLine
  • Not done: The status line runs your script

Lesson Q&A

Where does the status line get its information about the session?

Claude Code runs your script and feeds it JSON about the session — the model, the folder, how full the context is — The status line script receives JSON on stdin and prints whatever you want to see. What it shows is up to you.

How is the Learning style different from Explanatory?

Both explain decisions in Insight blocks, but Learning also leaves you a few lines of real decisions to write yourself — Learning marks TODO(human) spots and asks you to write the key decision — so your skill grows, not just the code.

How do you reliably ask about Claude Code's own features?

Name the built-in claude-code-guide helper in the request; otherwise Claude may answer from what it already knows — claude-code-guide is the built-in helper for Claude Code's features. If you do not name it, Claude may answer from memory, which can be out of date.

You want to see how full the context is at all times, without typing /context. What do you set up?

The status line script receives context_window.used_percentage and can show it all the time.

Commands in this lesson

Move between lessons with ← → · search with ⌘K

Written and reviewed by Mikhail Kuzmitskii