~/vertex · terminal coding assistant macOS Apple silicon

vertex. A terminal coding assistant for macOS.

// VERSION 2026.10.16 · RELEASED OCTOBER 16, 2026

In a project folder vertex reads files, searches code, edits with a diff you can see, and runs commands in a sandbox.

// Install line ~/.local/bin
curl -fsSL https://thyfwxit.com/vertex/install.sh | sh

Downloads the binary, checks its SHA 256 checksum, and puts it in ~/.local/bin. No sudo.

Requirements: A Mac with Apple silicon (arm64) running macOS 11 or newer. Intel Macs, Linux and Windows are not supported yet.

After a browser download macOS may block the file because it is not notarized. Download the checksum next to it, check the file, then clear the block on that one file:

shasum -a 256 -c vertex-macos-arm64.sha256 && chmod +x vertex-macos-arm64 && xattr -d com.apple.quarantine vertex-macos-arm64

The curl install line avoids that step.

Honesty note: The download is a compiled binary so the source stays private. Like any program it can still be studied, and it is free to use.

// 01

Getting started

  1. 1

    Install it

    Run the install line above in Terminal. It puts vertex in ~/.local/bin and tells you if that folder isn't on your PATH yet.

  2. 2

    Open a project

    cd into a project folder and run vertex. It works in the folder you start it in, so start it inside a project, not your home folder.

  3. 3

    Connect a model

    On the Welcome card pick Personal API key, choose your provider, paste your key and pick a model. If someone who runs a Nexus server gave you an access key, choose Nexus access key at the top of the list instead.

  4. 4

    Ask in plain words

    For example: add a --verbose flag to the CLI and update the README. vertex reads what it needs, shows each change as a diff, and asks before it edits.

Want more detail? The vertex docs cover every command, the modes and the command sandbox.

Keys to know

  • /help lists every command.
  • Shift+Tab switches modes: manual, accept edits, plan and auto.
  • /model and /effort pick the model and how hard it thinks.
  • Ctrl+C stops a reply; twice quits. /quit leaves too.

Beyond chat

  • /cost shows what replies cost per model, this session and over 30 days, with a daily budget warning.
  • The status row shows your git branch and changes, and the pull request with its checks when the GitHub CLI is signed in.
  • Models on this Mac: pick Ollama or LM Studio in /login, with no key and the same tools.
// 02

What's new

vertex 2026.10.16

See what you spend, git at a glance, models on your Mac, and sharper tools for the model

  • What every reply costs, with /cost

    vertex adds up each reply's own token counts per model and prices them: the provider's own figure when it sends one, OpenRouter's model list, or a price table built into each release. /cost shows this session, today, the last 7 days and the last 30, with cached input counted at its own rate. Local models and Nexus's free tiers show as free, and a reply with no known price shows as unpriced instead of a guess.

    Why it matters. A long coding session on a paid key can cost more than you expect, and the bill arrives later. Now you can see it as you go, and a budget warns you before a day gets away from you.

    How to use it. Type /cost. To set a daily warning, type /cost budget 5; vertex tells you at 80% and again once it's passed. /cost budget off clears it. The records stay on your Mac for 90 days.

  • Git and GitHub in the status row

    The row under the input shows your branch, ↑ commits ahead and ↓ behind, + staged, ~ changed, ? untracked and ! conflicts, and the branch's pull request number with ✓, ✗ or ◷ for its checks. vertex looks at git every few seconds and asks the GitHub CLI about the pull request about once a minute, in the background, so typing never waits.

    Why it matters. You see when the model's edits changed files, whether you have work to push, and whether your checks passed, without leaving vertex or running git status yourself.

    How to use it. It's on whenever you're in a git repo. The pull request part needs the GitHub CLI (gh) installed and signed in. /github off stops the gh calls.

  • /model as a constellation

    /model draws your models as stars joined by lines, grouped by where they come from. Each one says LOCAL or CLOUD, the one in use is marked, and the effort line sits right under the list.

    Why it matters. Choosing a model and how hard it thinks is one decision, so they now live on one screen, and you can tell at a glance what runs on your Mac and what goes to the cloud.

    How to use it. Type /model. Up and down pick a model, left and right set the effort, Enter makes it your default and s keeps it to this session.

  • /effort from faster to smarter

    /effort is a single line from low to max. Its colors warm as you move up, and max shimmers. Ultracode is now a separate switch: every task is planned, done step by step, checked with real runs, fixed and reviewed, at whatever effort you pick.

    Why it matters. Effort decides how deeply the model thinks in each step, and Ultracode decides whether it works through a careful process. Splitting them lets you have a quick model that still checks its work, or a deep thinker that answers straight away.

    How to use it. Type /effort, use left and right to choose, Tab to turn Ultracode on or off, and Enter to keep it.

  • A livelier Sputnik

    Sputnik, vertex's mascot, now twinkles and catches a sweep of light. Click it and it waves and throws sparkles, and an about line opens with a docs link you can click. Once it scrolls out of view it stops moving, and vertex repaints the screen only while something on it is moving.

    Why it matters. It makes the welcome card feel alive without costing anything when you're working: no repainting for an animation you can't see.

    How to use it. Click Sputnik on the welcome card. Click the docs line to open the docs in your browser, and click Sputnik again to close it.

  • Models on your Mac

    Ollama and LM Studio are now in the provider list. vertex finds the server on your Mac, lists its models and lets you pick one, with no key to paste. The model gets the same tools as any other, so it can read, edit and run commands, and its replies stay on your Mac.

    Why it matters. You can code with a model that costs nothing per reply and never sends your code anywhere.

    How to use it. Start Ollama or LM Studio's server, then /login, pick Ollama or LM Studio, and choose a model. vertex uses the context size the server reports for the loaded model, else 8,192, so raise Ollama's context length for long tasks.

  • /rewind

    vertex remembers every file it changed this session, grouped by your request. /rewind lists your recent requests and puts the files back to how they were before the one you pick, removing files that request created.

    Why it matters. If a change went the wrong way, you get your files back in one step instead of undoing edits by hand.

    How to use it. Type /rewind (or /undo) and pick the request to go back to. Changes made by commands aren't tracked, so they stay; the conversation stays too.

  • Sharper tools for the model

    The model can now make several edits to one file as a single change with one diff, search with a regular expression, see the lines around each match and limit a search to file names like *.py, and keep a plan as a checklist that you see and that stays with it through /compact.

    Why it matters. Published comparisons of coding assistants show the tools around a model change how often it finishes a task. Fewer, larger edits mean fewer approvals and fewer half done changes, and a visible plan shows you where it is.

    How to use it. Nothing to turn on: ask for work with several steps and the model uses them. Each edit still shows its diff first.

  • Your key's models, with their real context

    /model shows the models your key can use with the context size its provider reports, from 8k up to 1M, and the context meter follows the model you pick.

    Why it matters. The context size decides how much of your project the model can hold at once, so it should be the real number for that model, not a guess.

    How to use it. Type /model and look beside each model on your key.

  • /model in a short window

    The /model panel takes only the rows it needs and scrolls around your selection, showing how many models are above and below. A key with up to 60 models opens them as a list right away.

    Why it matters. The bottom of the panel, with the effort line and the keys, used to be cut off in shorter windows.

    How to use it. Type /model in any size window and use up and down.

  • Commands can't read your tokens

    Commands vertex runs in the sandbox can read only the toolchain folders they need. The folders where tools keep logins, like ~/.cargo/credentials.toml, npm's global npmrc, uv's credentials and git's stored credentials, are out of reach, and a symlink can't be used to reach them.

    Why it matters. Whatever a command prints goes back to the model, so a command must not be able to print a token.

    How to use it. Nothing to do. If a tool you use needs a folder that's now unreadable, open an issue.

  • Safer edits

    vertex's file tools refuse .git however it's spelled, and sandboxed commands can't create or write a .git folder anywhere in the project. File writes go through folder handles that refuse links, so a folder swapped for a link can't redirect them. The status row's git switches off a repo's own filters and file monitor and ignores bare repos it wasn't pointed at.

    Why it matters. A repo's config can make git run a program. These close the ways a model, or a file it wrote, could plant one for your own git to run later.

    How to use it. Nothing to do. For extra safety in your own git, you can run git config --global safe.bareRepository explicit.

  • Releases named by date

    This release is 2026.10.16, the day it shipped. Every release after it is a later date.

    Why it matters. A date tells you at a glance how fresh your vertex is, and the number always goes up.

    How to use it. vertex --version, or the welcome card, shows it.

  • Tips

    While a reply is on its way, a tip shows under the spinner and changes every 12 seconds, and one shows under the welcome card: commands, keys, and where to find the docs and the changelog.

    Why it matters. There's more in vertex than anyone reads in a help page; a tip at a quiet moment is how you find it.

    How to use it. /tips off hides them and /tips on brings them back.

Every release, back to vertex 0.2

// 03

Supported providers

vertex reaches a model one of three ways, and you can save more than one and switch between them in /model.

Your own API key

Use the account you already have. vertex checks the key with the provider, lists the models it can use, and sends the key to that provider and nowhere else.

  • Anthropic
  • OpenAI
  • Google Gemini
  • OpenRouter
  • Groq
  • Cerebras
  • Mistral
  • xAI
  • Together
  • DeepInfra
  • Fireworks
  • Any OpenAI compatible https endpoint

A Nexus access key

Someone who runs a Nexus server can give you a chat only key that starts with nxa_, together with the server's address. It reaches the models they chose for it, up to a daily cap, and they can revoke it at any time.

Models on this Mac

Pick Ollama or LM Studio in /login. No key, the same tools, and your prompts go only to that server on your Mac.

  • Ollama
  • LM Studio
// 04

Where your keys and data live

Keys

Personal API keys are saved in the macOS Keychain under the service name vertex and only sent to the provider you picked. ~/.nexus/vertex.json records the provider, the model and the last 4 characters of each key, never the key itself. A Nexus sign in token, if you have one, is in ~/.nexus/credentials, readable only by you.

History

Your chat history (~/.nexus/history.jsonl), what you typed (~/.nexus/history) and the model's reasoning (~/.nexus/thoughts.jsonl) stay on your Mac. /forget wipes the chat history. The app unpacks itself into ~/.cache/vertex on first run.

No telemetry

vertex sends nothing about you to me: no usage data, no crash reports, no analytics. Your prompts and code go only to the model provider or Nexus server you choose. Where the macOS sandbox is available, commands vertex runs go through it: no network, writes only inside your project folder and a private temp folder, never into .git, and most of your home folder unreadable (toolchain folders such as ~/.local, ~/.cargo and git's config stay readable). Where it can't apply, vertex asks before every command.