How to use Codex to categorize a month of transactions

Updated October 15, 2026

Categorizing transactions is the most repetitive part of personal finance, and an agent can do much of it from your own payee history. If you use OpenAI’s Codex, you can hand that job to it: connect Codex to FireBudget, ask it to categorize last month, review a before-and-after preview, and approve. This guide shows the setup and the workflow, including what Codex is and is not allowed to change.

The same steps work with Claude Code. If that is your agent, the Claude Code statement import guide covers its setup.

When this is useful

  • You imported a bank CSV and a few dozen rows came in without categories.
  • You entered transactions quickly during the month and left the category blank.
  • You want to tidy messy payee names (“SQ *BLUE BOTTLE 0423”) before a month-end review.

Codex looks things up in your budget instead of guessing. FireBudget gives it your categories and your payee list, ranked by how often you use each payee, along with the category you last used for each one. For merchants you have bought from before, that history is usually enough.

Step 1: Turn on agent access

In FireBudget, open Settings, find Agent access (MCP), and turn on Allow local AI agents to access this budget. It is off by default. The server listens only on 127.0.0.1 on your own Mac and requires an access token.

Step 2: Add FireBudget to Codex

Pick the Codex tab in that Settings section and copy the snippet. Add it to ~/.codex/config.toml:

[mcp_servers.firebudget]
url = "http://127.0.0.1:37541/mcp"
http_headers = { "Authorization" = "Bearer <your token>" }

This one file covers the Codex CLI, the ChatGPT desktop app, and the IDE extension, because they share the configuration. The “Add server” form in the app cannot set the authorization header, so edit the file directly. Run /mcp in Codex to confirm that firebudget is connected.

Codex needs its own plan from OpenAI. FireBudget does not include or resell AI access.

Step 3: Ask for a categorization pass

Be specific about the month and how cautious you want Codex to be:

Find every uncategorized transaction in FireBudget for September 2026.
Suggest a category for each, using the category I last used for the
same payee. Group the ones you're unsure about separately. Show me a
preview and don't save anything yet.

Behind the scenes, Codex uses FireBudget’s MCP tools to list your accounts, categories, and payees, then reads September’s transactions and builds a list of proposed changes.

Step 4: Review the preview

Codex sends the changes to FireBudget as a preview. FireBudget applies them inside a database transaction, records the result, and rolls it back. The preview shows each transaction’s before and after values, which accounts and months would be affected, and any warnings. It writes nothing and does not create a backup.

Things worth checking:

  • New payees. A one-off merchant with no history is where Codex is guessing. Its reasoning is usually sensible, but you know what you bought.
  • Split-purpose merchants. A supermarket that sometimes means Groceries and sometimes means Household. The last-used category is not always right.
  • Refunds. A refund should usually go to the same category as the original purchase, so it reduces that category’s spending.

Correct anything in plain language (“Costco on the 14th was Household, not Groceries”) and ask for a new preview.

Step 5: Approve

When the preview looks right, tell Codex to save. FireBudget then:

  1. Runs the same checks again on the real data.
  2. Takes a safety backup, which appears in the Backups list in Settings and can be restored from there.
  3. Applies every change in one database transaction. If any row fails, none are saved.
  4. Recalculates category activity and available amounts for the affected months, so the budget screen updates straight away.

A batch can contain up to 200 transactions. For a busier month, Codex splits the work across several batches, each previewed separately.

Beyond categories

The same edit tool can change a transaction’s payee, memo, date, or amount. Useful requests:

  • “Clean up the payee names from my Visa import so they match my existing payees.”
  • “Clear the memos that just repeat the payee name.”
  • “Last month’s rent was entered on the 1st but left the account on the 3rd. Fix the date.”

Limits that stay in place

Codex works through the same rules as the app:

  • It cannot delete transactions, move them to another account, or turn a regular transaction into a transfer.
  • It cannot change a reconciled transaction unless you explicitly agree after seeing a warning. Edits to reconciled rows can change a balance you already confirmed against a statement.
  • It cannot edit generated loan interest rows or the locked fields of an account’s starting balance.
  • It cannot change your budgeted amounts, so assigning money stays your decision.

Privacy

Codex sends the transactions it reads to OpenAI’s models. That is how any agent works. FireBudget itself sends nothing to an AI service, and nothing is reachable from outside your Mac. If you only want Codex to see one month, say so in the prompt, and turn agent access off when you are done.

What FireBudget does not do

FireBudget runs only on Macs with Apple Silicon (M1 or later). It has no bank sync, no mobile app, and no sync between devices. FireBudget must stay open while Codex works. ChatGPT on the web is not supported, because it cannot reach a server running on your Mac.

FireBudget for Mac

Zero-based budgeting that runs on your Mac. $39 once. Includes 2 years of free software upgrades.