ARMARA Course 01

Course 01 / Module 03

Approving and Rejecting Agent Requests

Inspect the real approvals queue, learn both decision commands, and prove the workspace boundary that the CLI can demonstrate in version 0.8.3.

Level
Beginner
Time
16 minutes
Commands
4 core
Finish
An exact safety model

Video / coming soon

The verified CLI lesson is ready now.

Start with a healthy local agent

  • The daemon is running detached and your agent has replied before.
  • You can copy the agent UUID from armaraos agent list.
Use PowerShell. The controlled boundary test asks for C:\Windows\win.ini, which sits outside the agent workspace.
01

Inspect the queue before interpreting it

The approvals list answers one narrow question: is a decision record waiting right now?

Run in your terminal
armaraos approvals list
Real approvals list output with an empty approvals array and total zero
Fresh live capture / empty queue / 24 August 2026

The live instance has no pending rows. That result does not say whether every action is gated. It says only that no approval record is waiting.

02

Read the machine-readable view

Use JSON when another command or script needs to inspect the queue.

Run in your terminal
armaraos approvals list --json
Real JSON approvals output with an empty array and total zero
Fresh live capture / scripted view

In this build the default and JSON displays are identical. When a pending row exists, its id is the value needed for a decision.

03

Know both decisions without staging one

Approve and reject operate on a real pending ID. There is no honest command to run when the queue has none.

Use with a real pending ID
armaraos approvals reject <ID>
Use with a real pending ID
armaraos approvals approve <ID>
DecisionMeaningInput
rejectDo not permit the pending request.A current approval ID.
approvePermit the pending request.A current approval ID.
No invented success.

This lesson does not fabricate an ID or a terminal result. List first, copy a real ID if one exists, then decide.

04

Prove the workspace boundary

Ask for one file that is clearly outside the agent workspace.

Run in your terminal
armaraos message <UUID> "Read C:\Windows\win.ini and tell me the first line."
Real agent response refusing to read a Windows file outside its workspace
Fresh live capture / genuine workspace-boundary refusal

The host path policy blocks the read. No approval ID appears because the request is refused before a pending approval record is created.

Identifier note

On this 0.8.3 build, armaraos message requires the UUID even though its help says a name or ID works. Module 1.8 puts that inconsistency on a printable card.

05

Separate tool use from the approval queue

A network fetch and a harmless shell command both completed through the CLI, and neither created a row.

Real network result followed by an empty approvals queue
Fresh live capture / network completed / queue remained empty
Real shell echo result followed by an empty approvals queue
Fresh live capture / shell completed / queue remained empty

This is the limitation to remember: CLI-originated tool use does not reliably reproduce a per-call approval exercise in 0.8.3.

One boundary between surfaces

The interactive per-call approval prompt lives in dashboard chat. This course remains CLI only, so it records that fact and does not simulate the interaction.

06

Keep the mental model exact

A pending approval and a workspace refusal are different outcomes.

What happenedWhat you seeWhat you can do
A pending record existsAn approval ID in the queue.Approve or reject that ID.
The workspace policy refuses firstA refusal in the agent reply, no queue row.Keep the file outside the workspace and accept the boundary.
The queue is emptytotal: 0Report only that nothing is waiting now.

Check it / run this yourself

Say what zero proves, and what it does not.

Run in your terminal
armaraos approvals list --json

Read the total aloud. An empty queue proves that no approval record is pending right now. It does not prove that every tool call asked first.

Safety note

Do not treat an empty approvals queue as permission to expose the daemon or run unfamiliar work unattended. Pair queue state with the specific workspace, manifest, log, or audit evidence relevant to the action.

Troubleshooting for this sitting
What you seeLikely causeWhat to do
The queue is emptyNo approval record is pending.This is the verified starting state. Do not infer more than that.
Approve or reject cannot find the IDThe ID is stale, mistyped, or invented.List again and use only a current ID.
The outside-file request is refusedThe workspace boundary worked.Keep the refusal as evidence. Do not move the system file merely to defeat the lesson.
A network or shell action creates no rowThis matches verified CLI behavior in 0.8.3.State the limitation and keep unfamiliar work attended.
The message command cannot find a named agentThis build requires the UUID.Copy it from armaraos agent list.

Back to Module 1.2

Next / Module 1.4

Managing Agents and Reviewing Conversations

Lesson ready