Ghoststack Docs

Set Up Claude Code

Your first goal is to open Ghoststack, make one small change, and see it in your browser. Choose the Claude Code interface you prefer; none requires a Ghoststack plugin.

You need Node.js and Git for the app, plus your downloaded project. Claude Code access is a separate purchase: desktop requires an eligible paid Claude plan; the CLI and editor also support Claude Console billing. Check the linked official guides for your account and operating system.

Choose your interface

Desktop app

  1. Install Claude using the official desktop quickstart and sign in.
  2. Open Code → Local → Select folder. Choose the Ghoststack folder containing package.json and CLAUDE.md.
  3. Choose a model available to your account. Use the permission selector to review how changes are approved; Manual lets you approve edits and commands individually.
  4. Send the first-change prompt below, then review the file changes and local preview.

Use the Code tab for this workflow. A conversation in Chat, or a Cowork task, is a different session. Installing the desktop app includes its coding interface but does not install the standalone claude terminal command. Ghoststack still needs Node.js even though the desktop coding interface does not. Desktop setup details.

Terminal CLI

Install the standalone CLI using the command for your shell:

macOS, Linux, or WSL:

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex

These are Anthropic's native installers. For other installation methods or an error, follow the official CLI quickstart.

Open a new terminal in your Ghoststack folder and run:

claude --version
claude

The first command should print a version. The second starts Claude Code and prompts you to sign in. Run /status inside the session to inspect the active account/model; /login changes the login. Choose the model through Claude Code rather than adding a model name to Ghoststack's configuration.

Inside an editor

In VS Code, open Extensions and install the official Claude Code extension from Anthropic. Open your Ghoststack folder, open the Claude Code panel, and sign in. The official editor guide includes installation links for VS Code and compatible editors, including Cursor.

The extension's panel includes its own Claude Code runtime. To type claude or claude mcp add in the editor's terminal, install the standalone CLI too. If using Claude Code inside Cursor, you are configuring Claude Code; Cursor's own Agent remains a separate tool. For JetBrains, use the official JetBrains guide.

Make your first change

Save your current working version with Git before the edit so you have a point to return to.

Read CLAUDE.md and its imported AGENTS.md. I'm new to coding.
Confirm that this is the folder containing Ghoststack's package.json.
Change the headline in app/page.tsx to "My first app".
Show the change, run the local preview, and tell me how to check it.
Do not add services or dependencies for this change.

If packages are not installed yet, follow workspace setup. You should see the changed headline at the address printed by npm run dev. Save working changes with Git.

For a larger change, choose Plan in the desktop permission selector, or press Shift+Tab in the CLI until Plan appears. Ask Claude to inspect the relevant code and propose an approach, then review it before implementation. A small edit like this headline change needs no separate plan. Planning guidance.

You can interrupt with the desktop stop button or Escape in the CLI, then explain what to change. To return later, select the desktop session in the sidebar, or run claude --continue from your project folder in the terminal. Use claude --resume to choose an older CLI session. Desktop controls, CLI sessions.

Project instructions and memory

Ghoststack already includes CLAUDE.md importing @AGENTS.md. Keep shared conventions in AGENTS.md; there is no need to generate another copy with /init.

Personal instructions for all projects can go in ~/.claude/CLAUDE.md; CLAUDE.local.md is personal to this project and already ignored by Ghoststack's .gitignore. Larger projects can add .claude/rules/*.md, using paths frontmatter to limit a rule to matching files. The starter does not need additional rule files to work.

In the CLI, /context shows loaded memory files and /memory lets you inspect memory. Claude Code's automatic notes are machine-local, normally under ~/.claude/projects/<project>/memory/; they do not automatically move to another computer or cloud environment. Keep important shared decisions in the project files. Never put keys or passwords in memory. Official memory guide.

Optional: plugins and MCP connections

A plugin packages extra capabilities, such as skills or MCP servers. A skill describes a reusable workflow. An MCP connection gives Claude tools for an external service. These are optional; your first preview needs none of them.

You also do not need an extra settings file to begin. If you later change permissions or other preferences, follow the official settings guide to choose whether they apply to this project or your other projects.

If you later need your own repeated workflow, Claude's project skill location is .claude/skills/<name>/SKILL.md; personal skills use ~/.claude/skills/. Add a description explaining when it applies. The older .claude/commands/ format still works, but Claude recommends skills for new workflows. Official skills guide.

Plugins

  • Desktop local sessions: use + → Plugins → Add plugin. The same menu has management options. Desktop plugin instructions.
  • CLI: run /plugin, then open Discover. The official catalog is claude-plugins-official. Review what a plugin adds before installing it.
  • Choose local for yourself in this repository, project for a shared repository installation, or user for your projects on this machine. Check the installed list and invoke one documented skill to confirm it works. Plugin installation and scopes.

Start with a plugin only when you have a task for it. Do not install a second copy of an MCP connection that is already working.

MCP setup and scope

For a graphical setup, desktop local sessions offer + → Connectors; the VS Code Claude panel offers /mcp. See the current desktop and editor instructions.

For the CLI, run this from your app folder after replacing YOUR_PROJECT_REF with your Supabase development project's reference:

claude mcp add --scope project --transport http supabase "https://mcp.supabase.com/mcp?project_ref=YOUR_PROJECT_REF&read_only=true"

Alternatively, merge the needed entries from .mcp.example.json into .mcp.json; retain "type": "http". Start a new coding session, review and approve the project MCP server if prompted, then use /mcp to sign in and check its status. Approving the project configuration and signing in to the service are separate steps.

MCP scopeWhere it appliesConfiguration
Local, the CLI defaultYou, this projectProject entry in ~/.claude.json
ProjectThis repositoryRoot .mcp.json
UserYour projects on this machine~/.claude.json

Ghoststack ignores .mcp.json in Git by default. Sharing a project file requires deliberately reviewing and committing non-secret configuration. Browser sign-in is still separate. Official MCP setup and scopes.

What carries across interfaces?

Desktop local sessions and the CLI use the project's Claude instructions and Claude Code MCP configuration. Current desktop local sessions also load claude_desktop_config.json; the standalone CLI does not read that file. Do not assume identical tools just because both interfaces say Claude. Shared configuration details.

Connectors added through your claude.ai account can appear in Claude Code when you use the supported subscription login. An API-key or third-party-provider login does not fetch that account's connector list. Check /mcp and /status in the CLI before adding a duplicate connection. Account connector behavior.

Cloud, SSH, and WSL sessions have their own environment and feature differences. Do not assume your laptop's installed plugins, files, or credentials are present. Follow the environment guide when you choose one of those modes, and verify tools in that session. A local plugin installation is not a blanket cloud installation.

Check that it works

  • Claude identifies the correct project and reads its instructions.
  • You can inspect a real file change and see it in the local preview.
  • If you added MCP, ask it to identify your development project and list tables without changes. Confirm the project and actual tool output.
  • If a tool is missing, check the active interface, login, scope, and connection state before reinstalling anything.

Next: Build your first feature. Connect Stripe, Supabase, or Render only when needed using the MCP guide.