npm install --global @slothmoney/agent-cli
sloth-agent auth login
sloth-agent auth status
sloth-agent accounts
sloth-agent goals
sloth-agent goals create --name "Emergency fund" --target-amount 12000 --target-month 2027-06 --type keep
sloth-agent goals create --name "Emergency fund" --target-amount 12000 --target-month 2027-06 --type keep --apply
sloth-agent goals update --goal-id GOAL_ID --type spend
sloth-agent goals update --goal-id GOAL_ID --type spend --apply
sloth-agent goals update --goal-id GOAL_ID --priority 2
sloth-agent goals update --goal-id GOAL_ID --priority 2 --apply
sloth-agent goals mark-spent --goal-id GOAL_ID
sloth-agent goals mark-spent --goal-id GOAL_ID --apply
sloth-agent goals restore --goal-id GOAL_ID
sloth-agent goals restore --goal-id GOAL_ID --apply
sloth-agent goals delete --goal-id GOAL_ID
sloth-agent goals delete --goal-id GOAL_ID --apply
Goal creates require a positive target amount and an explicit
Keep or Spend type. Goal results include
goalType and nullable spentAt. Keep
goals cannot be marked spent. Restore a spent goal before
changing its type.
Goal priority is one-based, so 1 is highest. Set priority on its
own. Moving one goal shifts the intervening goals automatically.
Without --apply, the command only previews the
move. Forecast assignments and shared progress refresh when the
owner next opens Forecast.
sloth-agent budget --scope personal --period 2026-08
sloth-agent budget update --scope personal --period 2026-08 --input budget.json
sloth-agent budget update --scope personal --period 2026-08 --input budget.json --apply
A budget update file contains 1 to 100 unique allocations. Each
one identifies an existing category and line item and sets its
whole-number plannedPence.
{
"allocations": [
{
"categoryId": "groceries",
"lineItemId": "weekly",
"plannedPence": 45000
}
]
}
Budget previews validate the file locally without loading a
token or contacting Sloth Money. Applying starts from the full
selected-period budget and patches the listed amounts. Saving X
overwrites X and every explicit future plan. A later save from Y
overwrites Y and everything after it. Earlier and historical
periods stay unchanged.
sloth-agent categories
sloth-agent categories create --name "Holidays" --icon-key plane --type Wants
sloth-agent categories create --name "Holidays" --icon-key plane --type Wants --apply
sloth-agent categories rename --category-id CATEGORY_ID --name "Travel fund" --apply
sloth-agent line-items create --scope personal --category-id CATEGORY_ID --name "Flights" --apply
sloth-agent line-items rename --scope personal --category-id CATEGORY_ID --line-item-id LINE_ITEM_ID --name "Travel" --apply
sloth-agent transactions --assignment-scope personal --uncategorized --limit 50
sloth-agent transactions --assignment-scope joint --uncategorized --limit 50
Copy the exact transactionRef for the transaction
and the matching categoryId and
lineItemId from these outputs into
assignments.json. Choose the most specific suitable
line item. If none fits, use that category's
Other line item. Historical assignments without a
line item are not a recommendation to omit one.
{
"assignments": [
{
"transactionRef": "PASTE_THE_EXACT_TRANSACTION_REF_HERE",
"assignmentScope": "personal",
"categoryId": "PASTE_A_CATEGORY_ID_HERE",
"lineItemId": "PASTE_A_LINE_ITEM_ID_HERE"
}
]
}
These are placeholders. Do not submit the example values.
Preview the file
sloth-agent assign --input assignments.json
Without --apply, the CLI checks that the file is
valid and returns the payload it would send. It does not contact
Sloth Money, verify the transactionRef or category
values, or write anything. A successful preview does not
guarantee that applying the assignment will succeed.
Apply the assignment
sloth-agent assign --input assignments.json --apply
Inspect every item in the succeeded and
failed arrays.
Check the result
Check the result in the same assignment scope that you changed.
Successful assignments update the original transaction. See the
category in Sloth Money → Transactions, or
re-run the original transaction query without
--uncategorized. The transaction should also
disappear from the matching uncategorized query. Confirm that an
existing assignment in the other scope was not changed.
Assignments do not create a separate list.
sloth-agent transactions --assignment-scope personal --limit 50
Other commands
sloth-agent transactions --assignment-scope joint --line-item-id LINE_ITEM_ID
sloth-agent transactions --assignment-scope joint --uncategorized
sloth-agent ask-partner --transaction-ref PASTE_THE_EXACT_TRANSACTION_REF_HERE
sloth-agent auth logout
The transaction reference shown above is also a placeholder.
Copy the exact value from
sloth-agent transactions output.
For CI or headless systems, set
SLOTH_AGENT_TOKEN
in your secret manager. It overrides a stored credential.
auth logout removes only the local copy; revoke the
token in Developer access.