Skip to content
Docs BETA

Read your runs

For feature teams. This page shows how to find out what happened to a plan or an apply. You use three commands: joomiz runs, joomiz runs show and joomiz runs watch.

What a run is

A run is the history record of one plan or one apply. Joomiz saves a run for every plan and every apply, also for a call that it refuses. The action of a run is plan or apply. The CLI prints the action in the column KIND.

List your runs

joomiz runs lists the runs that you may see, newest first.

joomiz runs

You see:

ID                                    KIND   APPLICATION                  ENVIRONMENT  STATUS                           STARTED
53adae2d-e706-499a-b9f3-048c561ded9c  apply  reference-shop (48908c60)    test         running                          2026-10-28T16:20:32.533Z
2cf8aa72-970b-461b-b2bb-003f64f3b1c9  plan   reference-shop (48908c60)    test         succeeded                        2026-10-28T16:20:19.861Z
c143e741-2805-487e-ab3a-290d4fa1b973  plan   quick-start-shop (1a7933b4)  test         succeeded                        2026-10-28T16:20:00.088Z
9f409e6c-eb22-4433-a822-7ac835cad415  apply  quick-start-shop (1a7933b4)  test         succeeded                        2026-10-28T16:19:51.489Z
...

The line ... marks lines that this page cuts. The application column shows the name and the first 8 characters of the application ID, because two applications can have the same name.

Four filters narrow the list:

Option Meaning
--application Only runs of this application. Give its ID.
--environment Only runs in this environment.
--kind Only runs of one action: plan or apply.
--status Only runs with one status.

The option --limit sets how many runs the command prints, from 1 to 1000. The default is 20.

joomiz runs --kind apply --environment test --limit 3

You see:

ID                                    KIND   APPLICATION                ENVIRONMENT  STATUS                       STARTED
ecbbea7a-783a-414b-821e-fd038425b2a1  apply  container-shop (4a2a1cc8)  test         refused (no_appliable_plan)  2026-10-28T16:22:51.581Z
3fb7ef00-f6d9-453e-83ca-97b3dde17241  apply  reference-shop (48908c60)  test         refused (stale_plan)         2026-10-28T16:22:27.955Z
90b50ab8-c7a3-46ea-bbe3-41fac74e4539  apply  reference-shop (48908c60)  test         succeeded                    2026-10-28T16:22:27.406Z

Read the status of a run

The column STATUS shows where a run is.

Printed status Meaning
running The call is still working.
accepted The call ended, and a provisioner still works. This guide says waiting for provisioner.
succeeded Every change worked.
failed A change failed.
partially_applied Some changes worked and some did not.
refused The control plane stopped the call before any work. This guide says not started. A reason follows in parentheses.
abandoned Someone released the lock. Work may still be running.

Run results, refusal reasons and exit codes lists the reasons and what to do for each.

A refused run shows its reason:

ID                                    KIND   APPLICATION                  ENVIRONMENT  STATUS                             STARTED
ecbbea7a-783a-414b-821e-fd038425b2a1  apply  container-shop (4a2a1cc8)    test         refused (no_appliable_plan)        2026-10-28T16:22:51.581Z
8980e7d0-1d63-4423-a871-750fd8bd9e84  plan   container-shop (4a2a1cc8)    test         refused (unclaimed_resource_type)  2026-10-28T16:22:51.043Z
9010846c-40e0-4991-9a0b-4d6049a54ccc  plan   quick-start-shop (f86f491d)  test         refused (invalid_submission)       2026-10-28T16:22:49.925Z
74dc1e58-8abd-40e7-b5c4-e3bc17c43c0e  plan   reference-shop (48908c60)    test         refused (unsupported_version)      2026-10-28T16:22:48.859Z
3fb7ef00-f6d9-453e-83ca-97b3dde17241  apply  reference-shop (48908c60)    test         refused (stale_plan)               2026-10-28T16:22:27.955Z
c383ac6b-d5d8-4422-b93f-7c50e0c04dc2  apply  reference-shop (48908c60)    test         refused (apply_in_progress)        2026-10-28T16:20:37.140Z
2c0bb399-450b-4668-b3c7-28d5e15d648a  plan   quick-start-shop (f86f491d)  test         refused (application_not_found)    2026-10-28T16:19:18.321Z

Read one run

joomiz runs show <id> prints one run. Replace <id> with a value from the column ID.

joomiz runs show 53adae2d-e706-499a-b9f3-048c561ded9c

You see:

run 53adae2d-e706-499a-b9f3-048c561ded9c
  kind:         apply
  application:  reference-shop (48908c60-5a6c-45fe-b5e4-88357f8e78c4)
  environment:  test
  caller:       owner:finance-team
  status:       succeeded
  started:      2026-10-28T16:20:32.533Z
  finished:     2026-10-28T16:20:44.584Z
  duration:     12.0s
  revision:     ada9a75e-8730-4c38-b42f-2d30d00b2c82
  plan:         b0ae37fe-72d7-447d-8047-41a12a89c94a
  apply:        2d2ebcd1-db2c-41ca-8662-9d13743f672d
groups:
  consumed-resource/kafka-topic  succeeded  12.0s  created 1, updated 0, removed 0
  managed-resource/postgres      succeeded  13ms  created 1, updated 0, removed 0
  target/cloud-foundry-space     succeeded  11ms  created 1, updated 0, removed 0
  deployment/cloud-foundry-app   succeeded  19ms  created 2, updated 0, removed 0

The lines mean:

A run that is not final yet gives the exit code 4. A script can wait and ask again. A run that ended without success gives the exit code 1.

Follow a run

joomiz runs watch <id> prints the events of a run as they arrive, and it stops when the run is final. Use it for an apply that takes a long time.

joomiz runs watch 53adae2d-e706-499a-b9f3-048c561ded9c

You see:

watching run 53adae2d-e706-499a-b9f3-048c561ded9c
#1  2026-10-28T16:20:32.533Z  run_started  status running
#2  2026-10-28T16:20:32.537Z  group_queued  consumed-resource/kafka-topic
#3  2026-10-28T16:20:32.537Z  group_queued  managed-resource/postgres
#4  2026-10-28T16:20:32.537Z  group_queued  target/cloud-foundry-space
#5  2026-10-28T16:20:32.537Z  group_queued  deployment/cloud-foundry-app
#6  2026-10-28T16:20:32.538Z  group_running  consumed-resource/kafka-topic
#7  2026-10-28T16:20:32.538Z  group_running  target/cloud-foundry-space
#8  2026-10-28T16:20:32.538Z  group_running  managed-resource/postgres
#9  2026-10-28T16:20:32.549Z  group_finished  target/cloud-foundry-space  succeeded  11ms  created 1, updated 0, removed 0
#10  2026-10-28T16:20:32.551Z  group_finished  managed-resource/postgres  succeeded  13ms  created 1, updated 0, removed 0
#11  2026-10-28T16:20:44.559Z  group_finished  consumed-resource/kafka-topic  succeeded  12.0s  created 1, updated 0, removed 0
#12  2026-10-28T16:20:44.562Z  group_running  deployment/cloud-foundry-app
#13  2026-10-28T16:20:44.581Z  group_finished  deployment/cloud-foundry-app  succeeded  19ms  created 2, updated 0, removed 0
#14  2026-10-28T16:20:44.584Z  run_finished  status succeeded
run 53adae2d-e706-499a-b9f3-048c561ded9c finished with status succeeded

Each line has a number, the time and an event. The events group_queued, group_running and group_finished are for each type of resource. The events run_started and run_finished are for the run. If no new event arrives for 30 seconds, the command says so. Press Ctrl+C to stop watching. The run goes on.

Which runs you can see

You see the runs of the applications that your team owns. A call that was refused against an application of another team shows only the application ID. You do not see the other team's runs:

ID                                    KIND  APPLICATION                           ENVIRONMENT  STATUS               STARTED
3ed3b7e9-c541-4c6d-a52d-761773c08a50  plan  48908c60-5a6c-45fe-b5e4-88357f8e78c4  test         refused (not_owner)  2026-10-28T16:22:49.415Z

A request for a run of another team gives the same answer as a run that does not exist:

error: the control plane refused the request (HTTP 404)
  Run not found
  no run 'ecbbea7a-783a-414b-821e-fd038425b2a1'
  hint: no run with this id is visible to you. It does not exist, or another team owns it.

A person with the role operator sees the runs of all teams.

Next

See what drift is and how a plan shows it in Find and fix drift.