Ghoststack Docs

Use Codex

Codex can read your project, edit files, run commands, and help check the result. Ghoststack includes the project instructions it needs. Choose one way to use Codex; the desktop app does not require a separate CLI installation.

Step 1: Open Ghoststack in your preferred tool

Install and sign in using one option below. If you do not have the Ghoststack folder yet, get the code before the β€œopen project” step. The app also needs Node.js and Git.

Desktop app

  1. Follow the official desktop setup for macOS, Windows, or Linux and sign in. Current OpenAI documentation calls this the ChatGPT desktop app; choose Codex for this coding workflow.
  2. Add or open your local Ghoststack folder as a project. Choose the folder containing package.json and AGENTS.md.
  3. Start a task in that project. For your first edit, work in the local folder where you will run the preview.

You can ask Codex to run commands from the task. A separate code editor is optional. If you later use a worktree or remote computer, check which folder and computer the task uses before opening its preview.

IDE extension

Install the official Codex extension in VS Code or a compatible editor such as Cursor or Windsurf. Open the Ghoststack folder, select the Codex icon, and sign in. If the icon is missing, use the Command Palette command Codex: Open Codex Sidebar.

Using the Codex extension inside Cursor is a different choice from using Cursor's own agent. Follow the settings for the agent you are actually using. Other IDEs, such as Xcode and JetBrains, have their own integrations; the official guide lists those separately.

CLI β€” optional terminal workflow

After installing Node.js, you can install the CLI with npm:

npm install -g @openai/codex

Open a terminal in the Ghoststack folder and run:

codex

Complete the sign-in prompts. The official CLI guide has other installers and platform instructions. Only CLI users need the terminal commands shown later on this page.

For any version of Codex, start with the current recommended model available to your account. Ghoststack does not require a fixed model name, a paid API key, or a special model override. Your account and workspace determine available models and usage; app AI calls through OpenRouter are a separate setup.

Step 2: Check the project instructions

Paste this into a new task:

Read AGENTS.md and package.json. Explain how to run this app and where
I would change its landing page. I'm new to coding. Do not edit files yet.

Codex should identify app/page.tsx and npm run dev. It reads AGENTS.md directly; keep the existing file instead of generating a second set of project rules. You do not need to rename CLAUDE.md. See how project instructions are loaded.

Codex loads personal instructions from ~/.codex, then project instructions from the repository root down to its working folder. More specific instructions take precedence. In each directory, AGENTS.override.md takes priority over AGENTS.md; they are not both combined. Ghoststack needs only its existing root AGENTS.md.

If you update AGENTS.md and Codex still follows the old instructions, start a new task in the same project, or restart the CLI from that folder. Ask it to summarize the instructions again; there is no instruction cache you need to clear manually.

These settings serve different purposes:

ItemWhat it is for
AGENTS.mdShared instructions about this project's code, conventions, and checks
.codex/config.tomlOptional Codex settings for this trusted project, including direct MCP servers
.agents/skills/<name>/SKILL.mdAn optional reusable workflow shared with this project
A pluginAn optional package of skills or integrations installed in your coding tool
.env.localYour app's service credentials; these do not sign Codex into those services

Standalone skills work in the desktop app, CLI, and IDE extension. Put a project skill in .agents/skills; personal skills go in ~/.agents/skills. Add one only when you have a useful repeated workflow.

Keep durable project decisions in versioned project files so another person or coding tool can use them. Codex also offers optional local memory, off by default. It belongs to the Codex host and does not replace AGENTS.md; do not copy generated ~/.codex/memories into your repository. Ghoststack requires no memory plugin or extra memory file. See prompting and project memory.

Step 3: Make and verify one small change

After starting your local preview, save your current working version with Git so you have a point to return to. Then try:

Change the landing page headline in app/page.tsx to "[YOUR HEADLINE]".
Follow AGENTS.md. Show me what changed and how to verify it in the browser.

Review the diff, reload the page, and save a Git checkpoint when it looks right. Keep the default permissions while learning; ask what an unfamiliar command or access request does before approving it.

Optional: install a plugin

A plugin can package skills and service connections. Install one when a specific task needs it, such as working with your GitHub repository. Check its publisher, requested access, and supported platform first.

  • Desktop: open Plugins, find the plugin, review its details, and install it. Complete any service sign-in, then start a new task to use it.
  • CLI: use /plugins to browse configured marketplaces. After installation, start a new session. A plugin marked Desktop only requires the desktop app.
  • IDE extension: plugins are not currently supported. Use a direct MCP connection for service tools, or use the desktop app/CLI for a plugin workflow.

Availability can depend on your account and administrator settings. Installing a plugin and connecting its service account are separate steps. Follow the official plugin guide if the interface changes.

Optional: connect an MCP server directly

MCP gives Codex tools for services such as Supabase, Stripe, and Render. Use the service setup guide to choose the endpoint and development account. If a plugin already supplies the tools you need, you do not also need a duplicate direct connection. Mentioning a service in AGENTS.md or a prompt does not install or authenticate that connection.

Desktop or IDE: use connection settings

Where you use CodexAdd and authenticate a server
DesktopSettings β†’ MCP servers β†’ Add server. For the supplied hosted endpoints, choose Streamable HTTP and enter the server name and URL. Save, select Restart, then Authenticate if OAuth sign-in is required.
IDE extensionGear menu β†’ MCP servers β†’ Add server. Choose the server type and enter its details. Save, select Restart extension, then Authenticate if required.

This browser sign-in does not require codex mcp login. These paths are documented in the official MCP guide.

Project configuration: keep a connection scoped to your app

For a project-specific setup, copy only the sections you need from codex.config.example.toml into .codex/config.toml inside Ghoststack. Merge with an existing file instead of replacing it. Substitute your Supabase project reference and retain read_only=true for inspection.

Codex loads project configuration only after you trust that project. Personal settings in ~/.codex/config.toml can apply across projects. Desktop, CLI, and IDE share MCP settings on the same Codex host; do not assume a remote computer or cloud task has your local connections. See configuration scope.

Keep credentials out of the template. Authenticate through the connection UI. If using the CLI instead, run only the login command for a server you configured:

codex mcp login supabase

Replace supabase with the configured server name when appropriate. codex mcp list lists configured servers; /mcp in a task shows active connections. A server entry alone does not prove authentication succeeded.

Done when

Codex can explain the project rules, your preview opens, and your first change appears in the browser. When connecting a service, also verify the intended account or project with a read-only request before changing data. You can start building without any optional plugins or MCP servers.