Skip to content
Ultracite
Esc
↑↓navigate↵open⌘Jpreview

Snowflake CoCo reads AGENTS.md as its main rules

Snowflake CoCo, formerly Cortex Code, reads AGENTS.md in its CLI (still run as cortex) and its desktop app. Ultracite doesn’t set up hooks for it, so CoCo runs ultracite fix when the rules tell it to, after you approve the command or pre-approve it.

Snowflake CoCo by SnowflakeChecked against October 2026

# Ultracite Code Standards

This project uses **Ultracite**, a zero-config preset that enforces strict code quality standards through automated formatting and linting.

## Quick Reference

- **Format code**: `npx ultracite fix`
- **Check for issues**: `npx ultracite check`
- **Diagnose setup**: `npx ultracite doctor`

Oxlint + Oxfmt (the underlying engine) provides robust linting and formatting. Most issues are automatically fixable.

…
Ultracite’s rules
Where Snowflake CoCo looks for instructions
  1. 1AGENTS.mdUltraciteThe primary project instructions file, at the workspace root.
  2. 2Folders up to the git rootCoCo Desktop also checks every directory from the workspace root up to the git root, for monorepos.
  3. 3CLAUDE.md, CORTEX.md, SNOWFLAKE.md, RULES.mdAlso recognized by CoCo Desktop, with names matched case-insensitively.
  4. 4.cursor/rules/*.mdc, .claude/rules/*.mdRead relative to the git root by CoCo Desktop.
  5. 5~/.snowflake/cortex/AGENTS.mdYour instructions for every project. CoCo Desktop’s Custom instructions editor writes this file.

How Snowflake CoCo reads the rules

CoCo treats AGENTS.md as the project’s main instructions file. Snowflake documents the search in detail for CoCo Desktop: workspace files first, then yours, then the active profile’s, all concatenated into one block of context.

Size
About 100,000 characters in total in CoCo Desktop. A file that would pass the cap is skipped.
Same name
When a workspace file and a user file share a name, the workspace one is used and the other is skipped.
When it loads
Instruction files go into the first message of the session, joined into one block of context.
Patterns
chat.instructionFilePatterns changes which file names CoCo Desktop discovers.
Scoped files
.github/instructions/*.instructions.md with an applyTo glob attach only when matching files are in the conversation.
Order
Workspace files first, then your user files, then the active profile’s.

Approve the command once, or up front

CoCo runs ultracite fix with its bash tool because AGENTS.md tells it to. In the default Confirm mode, CoCo may ask before it runs a shell command; a remembered approval or --allowed-tools lets it through.

cortex -p "Run npx ultracite fix, then fix what it reports" --allowed-tools "Bash(npx ultracite *)"
  1. 01CoCo changes a file with its edit or write tool.
  2. 02Following AGENTS.md, it runs npx ultracite fix with bash.
  3. 03Confirm mode may ask first; a saved “Always allow” or --allowed-tools skips the prompt.
  4. 04CoCo reads the output and fixes what’s left.

Worth knowing about Snowflake CoCo

  • Hooks come from Claude Code’s files too

    The CLI reads hooks from .cortex/settings.json, .claude/settings.json, their .local variants, ~/.claude/settings.json and ~/.snowflake/cortex/hooks.json. Matchers are case-sensitive and built-in tool names are lowercase: bash matches, Bash doesn’t.

  • Approvals you give once

    When CoCo asks before a command, “Always allow (persist)” saves the answer to ~/.snowflake/cortex/permissions.json, scoped to the project and the command pattern. Delete a project’s entry to reset it.

  • One setup for the CLI and desktop

    CoCo CLI and CoCo Desktop read the same configuration in ~/.snowflake/cortex/, so a skill or hook you set up in one is available in the other.

  • The Ultracite skill

    CoCo CLI loads project skills from .cortex/skills/ and .claude/skills/, and since 1.0.77 from .agents/skills/, so it finds the Ultracite skill init installs there. /skill list shows what loaded.

Snowflake CoCo questions, answered

Does Snowflake CoCo read AGENTS.md?
Yes. Snowflake lists AGENTS.md support among the CLI’s agent customization features, and CoCo Desktop treats AGENTS.md as the primary project instructions file.
Is Snowflake CoCo the same as Cortex Code?
Yes. Snowflake’s docs now call Cortex Code “Snowflake CoCo”, and the CLI command is still cortex. ultracite init --agents snowflake-coco sets it up (snowflake-cortex, its old id, still works).
Will CoCo run Ultracite’s Claude Code hook?
Not as written. The CLI reads hooks from .claude/settings.json, but its matchers are case-sensitive and its built-in tool names are lowercase, so the Write|Edit matcher in Ultracite’s Claude Code hook doesn’t match edit or write. Ultracite doesn’t configure CoCo hooks.
How do I run Ultracite through CoCo in CI?
Use batch mode and pre-approve the command: cortex -p "…" --allowed-tools "Bash(npx ultracite *)". cortex exec rejects interactive prompts automatically, so a command that isn’t pre-approved won’t run there.
Where do I put personal instructions for CoCo?
In ~/.snowflake/cortex/AGENTS.md. CoCo Desktop’s Custom instructions editor reads and writes the same file.

Ship less slop

One command sets up your linter, formatter, editor and agents. Works with Oxlint, Biome and ESLint.