palette-code
v0.1.21
Published
Palette Code: the Palette AI coding agent for the terminal. Korean-first, runs on the Palette API.
Maintainers
Readme
Palette Code
The Palette AI coding agent for the terminal. Korean-first. Runs on the Palette API.
export PALETTE_API_KEY=... # the key Palette issued to you
palette-code # interactive, in any project directory
palette-code run "실패하는 테스트 원인을 찾아 고쳐 줘" # headless, for scripts and CIWhat you get
| Seat (model) | Use it for | Context | Images |
|---|---|---|---|
| palette/palette-llm (default) | Korean reasoning, refactors, reviews | 1M | no |
| palette/palette-llm-max | the hardest changes, long migrations | 1M | yes |
| palette/palette-llm-fast | quick edits, lookups, renames | 1M | yes |
Tool calling, streaming, a reasoning-effort dial (low · medium · high · xhigh), MCP servers, project AGENTS.md
instructions, plan mode, sessions and worktrees all come from the engine; the Palette API answers every request at
https://llm.pltt.dev/v1. If one upstream seat fails, the API fails over to another and marks it in the response.
Images on any seat (screenshots, attached pictures) are read by the Palette Multimodal stage and the seat answers
from that read, so the default seat sees what you attach.
Skills
Every build carries Palette's own skills (design, replicate, research, outreach, media, documents, browser use, computer use)
and pulls a curated index of permissively licensed community skills from https://llm.pltt.dev/skills/ on start
(82 skills as of 2026-10-21: UI/UX Pro Max and Impeccable design playbooks, frontend design, shadcn, Vercel, Supabase,
Stripe and Cloudflare guides, Expo and React Native, deploy to Vercel, spec-driven development, TDD, code review,
security hardening, brainstorming and planning, MCP building, Korean spell-check, 한글 HWP editing, Korean business
lookups (사업자 확인, 개인정보 처리방침, 정부지원 공고, KOSIS), Korean and English writing cleanup, Naver search, cold
email and proposals, Instagram planning, analytics, and more; the list with licences and what was left out is in
docs/research/skills-index-2026-10-21.md). The index is pulled on every engine start, so new skills reach existing
installs without an update.
Your own skills in ~/.agents/skills, ~/.claude/skills, ~/.codex/skills or the project's .palette-code/skills
take precedence over a bundled one with the same id.
First run
palette-code writes ~/.config/palette-code/palette-code.json with the Palette provider and the default seat. Edit it
to change the default, add MCP servers or your own providers. palette-code auth login stores a key if you prefer not to
use the environment variable. Per project, put settings in palette-code.json or a .palette-code/ directory (agents,
commands, skills, plugins); palette-code mcp add writes there. Projects set up for the upstream engine keep working.
Install
Downloads for every version and platform: https://llm.pltt.dev/download
curl -fsSL https://llm.pltt.dev/install | sh # macOS, Linux: one binary into ~/.palette-code/bin, added to PATH
irm https://llm.pltt.dev/install.ps1 | iex # Windows PowerShell
npm i -g palette-code # any platform with Node 18+Prebuilt binaries: macOS (arm64, x64), Linux (x64, arm64), Windows (x64). Pin a version with
PALETTE_CODE_VERSION=0.1.9 on the installer or npm i -g [email protected]. Direct links follow one
pattern: https://llm.pltt.dev/download/palette-code-<os>-<arch>[-<version>].tgz.
Desktop
The same agent in a window, with the Palette Ver.2 theme (light and dark, Palette Noto Sans KR), sessions, diffs and a terminal. Each build bundles the matching CLI. Downloads for every version and platform (macOS arm64/x64 dmg + zip, Windows x64 exe, Linux x64/arm64 AppImage + deb) are on https://llm.pltt.dev/download under Desktop. macOS builds are signed with a Developer ID and notarized, so they open without warnings; Windows and Linux builds are unsigned. The desktop keeps its engine current from the same download site.
The desktop installer is self-contained: the engine and the four tools (documents, media, computer use, browser use)
ship inside the app and run on its own runtime, so nothing else has to be installed. A new user opens the app, pastes
the key under Settings → Providers → Palette → Connect, and starts. The app menu's Install Command Line Tool
puts palette-code and the tool commands on PATH for the Terminal (~/.palette-code/bin).
Computer use
Palette Code can see and drive the apps on your computer through Palette Computer Use (palette-computer-use,
MIT, derived from open-computer-use; see NOTICE.md), an MCP server built on the OS accessibility tree:
list_apps, get_app_state (with a window screenshot), click, type_text, press_key, scroll, drag,
set_value and more. The npm package installs it beside palette-code; other installs add it with
npm i -g palette-computer-use. On macOS grant Accessibility and Screen Recording to "Palette Computer Use" when
it asks (pcu doctor shows the state). In the desktop app macOS attributes those calls to the app itself, so
Settings → Computer & browser also requests them for "Palette Code" (0.1.9). The server is pre-configured as
computer-use in palette-code.json;
after editing that file run palette-code reload so the running service picks it up. Use a vision seat
(palette-llm-max or palette-llm-fast) for screen tasks. Every action shows as its own card in the session
(verb · app · target) in the desktop app and the TUI.
Browser use works the same way through Palette Browser Use (palette-browser-use, MIT, derived from
open-browser-use): a real Chrome or Brave window driven through a native host and the Palette Browser Use extension.
palette-browser-use setup registers the host and installs the extension from https://llm.pltt.dev/download
(developer mode → drop the ZIP on chrome://extensions, or the Chrome Web Store listing once it is live). In the desktop app,
Settings → Computer & browser shows both permission states and fixes them in one click; every action shows as its own
card in the session. Skills from Claude Code (~/.claude/skills), Codex (~/.codex/skills) and ~/.agents/skills
are discovered automatically, globally and per project.
Documents and images
Palette Docs (palette-docs, MIT) is pre-configured as the docs MCP server. The agent reads hwp, hwpx, docx,
doc, rtf, odt, xlsx, xls, csv, pptx, ppt, pdf, html, md, json and zip (up to 20 files per call
or per archive), looks at images given as references (png jpg webp gif bmp tiff heic svg avif, resized for the
vision seats) and pulls images out of documents. It creates docx, hwpx (한글 native, from Hancom's blank
template), xlsx, pptx, md, csv, html from markdown, plus pdf, doc, xls, ppt, odt when LibreOffice
is installed; fonts default to 맑은 고딕 and can be set per document. hwp (binary) export is not available; hwpx is.
Install beside the CLI with npm i -g palette-docs (the npm package pulls it in).
Images and video
Palette Media (palette-media, MIT) is pre-configured as the media MCP server. create_image and edit_image
make 2K images in 8 steps with strong Korean typography (posters, UI mockups, product shots), up to 10 reference
images, transparent output; the agent sees a preview of every result. create_video makes 5–15 s clips with native
audio, and Korean on-screen text passed as on_screen_text is rendered and OCR-verified before the clip is returned.
understand_video watches a file or a YouTube link for you: title, chapters, a timestamped Korean transcript, a visual
timeline read frame by frame, and a few frames to look at. Files land in ./palette-media/ unless a path is given, every action shows as its own card, and every response
carries the AI-generation notice. npm i -g palette-media; the npm package pulls it in. Images on any seat are read
by the Palette Multimodal stage, so screenshots and reference pictures work with the default palette-llm too.
Build from source
bun install # bun 1.4.2 or newer
cd packages/cli && bun run build --single --skip-install # dist/<target>/bin/palette-code
cd packages/desktop && OPENCODE_CHANNEL=prod OPENCODE_CLI_DIST=../cli/dist bun run prebuild && bun run build && bun run package:macLicense
MIT. See LICENSE and NOTICE.md.
