Reference
Playbook action reference
Every remediation Koop can perform. This is the model’s entire vocabulary — it selects one identifier from this list and can produce nothing else.
playbook-bundle 2026.08.1 · signed 2026-07-27T00:00:00Z · 26 actions · generated from playbook/manifests
| Tier | Count | Meaning | Maximum autonomy |
|---|---|---|---|
| Tier 0 | 4 | Read-only or trivially reversible | Unattended |
| Tier 1 | 14 | Reversible service-level change | Unattended |
| Tier 2 | 7 | System change with a tested rollback | Unattended, explicit grant only |
| Tier 3 | 1 | High blast radius or irreversible | Approval required, always |
These declare reversible: false and can never be promoted to unattended, at any tier or scope. Guardrail rejects that configuration at the data layer.
Tier 0
koop.diagnostics.collect
v6.0.0 · windows · macos · linuxCollect a diagnostics bundle
Gathers the telemetry needed to diagnose a fault without changing anything. Read-only by construction — the implementation has no write path, which is why the model may call it freely without a policy decision.
- Rollback
- none-writes-nothing
- Preconditions
- None
- Verification
- bundle_uploaded_and_hash_matches
- Review
- security-eng · sandbox 2026-07-27
sha256:cd7134be09a2f5680d3c1ea75b924f08361ad7c02e9b4d51836ea7c0bf29d146
Parameters
- include_event_logbooleandefault trueInclude the incident-scoped event log slice.
koop.dns.cache.flush
v1.2.0 · windows · macos · linuxFlush the DNS resolver cache
Clears the local DNS resolver cache and re-registers the client. The cache is a cache; there is nothing to restore, which is why this sits at Tier 0.
- Rollback
- none-required-cache-repopulates
- Preconditions
- resolver_service_running
- Verification
- known_good_hostname_resolves
- Review
- security-eng · sandbox 2026-06-18
sha256:5cd8a027fe13b94620d7a5c81eb03f47921ade65c07b34d8f2ea910c65b7d349
No parameters.
koop.grouppolicy.refresh
v1.0.4 · windowsRefresh group policy
Forces a group policy refresh and reports which policies applied. Reads and applies existing directory policy; it does not author, modify or remove any.
- Rollback
- none-required-idempotent-refresh
- Preconditions
- device_domain_joined · domain_controller_reachable
- Verification
- refresh_returns_success · applied_policy_list_captured
- Review
- security-eng · sandbox 2026-06-20
sha256:7ae1039c5b2df8460178cae296b3f501d84c70ba6e295f13ab0c4de7185f2093
Parameters
- targetstringdefault bothWhich policy scope to refresh.computer | user | both
koop.smb.credential.refresh
v1.4.1 · windows · macosRe-establish a mapped network drive
Re-mounts a mapped drive against the stored credential, optionally renews the Kerberos ticket, and confirms a directory listing succeeds. Writes nothing.
- Rollback
- restore-prior-mount-state
- Preconditions
- stored_credential_exists · on_corporate_network_or_vpn
- Verification
- directory_listing_succeeds
- Review
- security-eng · sandbox 2026-06-30
sha256:41ae90bc7712d55f3e08c1a4b6d9e2374f8051ca9b3d7e6021458cc7fa3b9d12
Parameters
- drive_letterstringrequiredWhich mapped drive or mount point to re-establish.
- renew_kerberosbooleandefault trueRenew the Kerberos service ticket before re-mounting.
Tier 1
koop.audio.device.reset
v1.0.1 · windows · macosReset the audio subsystem
Restarts the audio service and re-enumerates output devices. Fixes "no sound after waking from sleep" and "meeting audio missing" without touching drivers.
- Rollback
- restore-prior-default-device
- Preconditions
- audio_service_present · no_call_in_progress
- Verification
- audio_service_running · default_output_device_present
- Review
- security-eng · sandbox 2026-06-22
sha256:1c4e08ba7d2953f6018cae74b3d095216f7ac03be8d491725ab06ce3d18f4a70
No parameters.
koop.browser.cache.clear
v1.1.0 · windows · macos · linuxClear a browser HTTP cache
Quarantines the HTTP cache for a named browser. Does not touch cookies, history, saved passwords, extensions or profile data — clearing a cache should not sign a user out of everything they use.
- Rollback
- restore-quarantined-cache
- Preconditions
- browser_installed · browser_not_running · user_session_interactive
- Verification
- browser_launches · cache_directory_recreated
- Review
- security-eng · sandbox 2026-06-24
sha256:4a20d7f1cb638e05920f4ae7db3c1806524fea90b7d3c1268aef05b4179c3d62
Parameters
- browserstringrequiredWhich browser's HTTP cache to clear.chrome | edge | firefox | safari
koop.disk.logrotate
v2.0.3 · windows · macos · linuxTruncate a runaway log directory
Identifies a log directory consuming the volume, verifies the resolved path against a compiled allowlist, and removes files older than a threshold. Will not follow symlinks and will not act on any path outside the allowlist. This action is NOT reversible, which permanently caps it below unattended.
- Rollback
- none-truncation-is-permanent
- Preconditions
- free_space_below_8_percent · path_on_allowlist · no_symlink_in_resolved_path
- Verification
- free_space_above_15_percent · removed_file_manifest_written_to_audit
- Review
- security-eng · sandbox 2026-07-25
sha256:70cd91a8b2e34f076c5d81ba9e2f4038d1a67c95be04732f8ad61c0e5b93da77
Parameters
- older_than_daysintegerdefault 14Only files older than this are removed. Clamped, not trusted.
- pathstringrequiredWhich allowlisted log directory to truncate.
koop.legacy.flash.remove
v1.0.0 · windowsRemove the legacy Flash plugin
Historic remediation, retained to exercise the deprecation lifecycle. No longer dispatched; the agent refuses it and reports the deprecation.
- Rollback
- none
- Preconditions
- package_installed
- Verification
- package_absent
- Review
- security-eng · sandbox 2026-05-01
sha256:5b071ea94c3d28f6103cae7b2d4095817fa6c0de13b95724ab08ce6f4d172390
No parameters.
koop.network.adapter.reset
v2.3.0 · windows · linuxReset the network adapter
Disables and re-enables the primary network adapter, renews the DHCP lease and verifies default-route and DNS reachability. The agent tolerates losing its own channel mid-action and reconciles on reconnect.
- Rollback
- restore-adapter-state-from-snapshot
- Preconditions
- adapter_present · device_not_on_metered_link · no_action_in_flight
- Verification
- adapter_state == up · default_route_present · control_channel_reestablished
- Review
- security-eng · sandbox 2026-07-09
sha256:14b7e0c39da625f8104c7be29a3f5d6081c47ae930b258fd6c01ae74b3925d80
Parameters
- renew_dhcpbooleandefault trueRelease and renew the DHCP lease as part of the reset.
koop.office.cache.clear
v1.3.0 · windows · macosClear the Office document cache
Closes Office applications cleanly and quarantines the Office document cache so it rebuilds. Fixes the "file is locked for editing by you" class of fault. Unsaved work in a running application blocks the action rather than being lost.
- Rollback
- restore-quarantined-cache
- Preconditions
- office_installed · no_unsaved_documents_open · user_session_interactive
- Verification
- office_application_launches · upload_center_queue_empty
- Review
- security-eng · sandbox 2026-07-03
sha256:81c4f0a7de392b6510cd8ae47f1b0293675ade0c48b19f3d2ae70c5b6134fa89
No parameters.
koop.outlook.ost.rebuild
v2.7.0 · windowsRebuild a corrupt Outlook OST cache
Closes Outlook cleanly, renames the OST rather than deleting it, and lets the client rebuild the cache from the server on next launch. Nothing is deleted at any point, so a wrong diagnosis costs the user time and not mail.
- Rollback
- restore-renamed-ost
- Preconditions
- outlook_installed · mailbox_is_server_backed · free_space_at_least_2x_ost · user_session_interactive
- Verification
- outlook_launches · new_ost_reaches_sync_state
- Review
- security-eng · sandbox 2026-07-11
sha256:c73d2f8a91be045c6e17d3b820af49165d0c8ea27b41f93d5e6a0c71bb28d4f6
Parameters
- profilestringNamed profile. Defaults to the logged-in user's default profile.
koop.printspool.restart
v4.2.0 · windowsRestart the print spooler
Stops the spooler, optionally moves queued jobs to a timestamped quarantine directory, restarts the service and confirms it reaches a running state. A single corrupt job blocking the queue is the usual cause; clearing the queue is what distinguishes this from a plain service restart.
- Rollback
- restore-prior-service-state-and-requeue
- Preconditions
- service_exists · device_healthy
- Verification
- service_state == running · spool_queue_depth == 0 · optional_test_page_returns_job_id
- Review
- security-eng · sandbox 2026-07-19
sha256:9f2b1c7ae04d3f61b8a5d2e77c4419ba0d6e83f1c2ab94577e10dd3612c81a04
Parameters
- clear_queuebooleandefault trueMove queued jobs to quarantine before restarting. Jobs are never deleted.
koop.profile.teams.reset
v1.9.0 · windows · macosReset the Teams client cache
Closes Teams, moves the client cache to quarantine and relaunches so the client rebuilds. Sign-in state is preserved.
- Rollback
- restore-quarantined-cache
- Preconditions
- teams_installed · user_session_interactive · no_call_in_progress
- Verification
- teams_launches · reaches_signed_in_state
- Review
- security-eng · sandbox 2026-07-02
sha256:38f0c7a1be5d24906c8b13ea7d5f0284b91c6ad703e4f5182bc9d06e4a731f5c
No parameters.
koop.service.restart
v5.0.1 · windows · macos · linuxRestart an allowlisted service
Stops and restarts a named service drawn from the Koop service allowlist. Waits for a clean stop rather than killing the process, starts the service, and verifies it reaches a running state with no dependent service left down. The service name is validated against the allowlist before dispatch; an arbitrary name is refused by the agent, not merely by the cloud.
- Rollback
- restore-prior-service-state
- Preconditions
- service_exists · service_not_disabled_by_policy · device_healthy
- Verification
- service_state == running · no_dependent_service_stopped · post_action_telemetry_delta
- Review
- security-eng · sandbox 2026-07-26
sha256:e02b7d419ca8f35607b1de2c94a0f7813d5c6ba207e94f13c8a0db756e2f4013
Parameters
- servicestringrequiredWhich service to restart. The allowlist is the entire permitted set.
koop.spotlight.reindex
v1.0.2 · macosRebuild the Spotlight index
Forces a Spotlight reindex of the boot volume. Fixes search returning nothing. The rebuild is CPU-heavy for several minutes, so this is userVisible.
- Rollback
- none-index-rebuilds-either-way
- Preconditions
- device_on_ac_power · free_space_above_10_percent
- Verification
- indexing_reports_complete · known_file_returned_by_query
- Review
- security-eng · sandbox 2026-06-27
sha256:e51b7028ad9c3f4610b2dae57c0f9318726ac0de41b9f3852ac70de6154b8d29
No parameters.
koop.time.sync.repair
v1.5.0 · windows · macos · linuxRepair clock synchronisation
Restarts the time service, re-points it at the configured authoritative source and forces a resynchronisation. Clock skew breaks Kerberos, which presents to the user as everything being broken at once.
- Rollback
- restore-prior-time-source-configuration
- Preconditions
- time_source_reachable · skew_exceeds_30_seconds
- Verification
- skew_below_2_seconds · kerberos_ticket_obtainable
- Review
- security-eng · sandbox 2026-07-07
sha256:2f8ac174be0d59632c0a7ed4185bf3092a6cd41e70b385f9dc21ea604f7b8c15
No parameters.
koop.vpn.client.restart
v1.6.0 · windows · macosRestart the VPN client service
Restarts the vendor VPN client service and waits for the tunnel to re-establish. The lighter of the two VPN remediations; try this before reinstalling the adapter.
- Rollback
- restore-prior-service-state
- Preconditions
- vendor_client_installed · user_session_interactive
- Verification
- client_service_running · tunnel_established_or_prompting_for_auth
- Review
- security-eng · sandbox 2026-07-05
sha256:6f10c8d4a2b93e7501fc6ad8e2094b3517cd60ae74f9b2183c05de6a41b7f290
Parameters
- vendorstringrequiredWhich vendor client. Koop will not guess.cisco-anyconnect | paloalto-globalprotect | fortinet | openvpn | wireguard
koop.windowsupdate.repair
v1.9.0 · windowsRepair a wedged Windows Update session
Stops the update services, moves the SoftwareDistribution download cache aside, restarts the services and triggers a detection pass. Does not install, approve or roll back any update — it only unwedges the client.
- Rollback
- restore-softwaredistribution-cache
- Preconditions
- update_service_present · no_install_in_progress · device_on_ac_power
- Verification
- update_services_running · detection_pass_completes
- Review
- security-eng · sandbox 2026-07-16
sha256:d3907ab41c5f2e68b0d17ca4396e58201fb7c0da685e93417cb20fe5a6d18c34
No parameters.
Tier 2
koop.certificate.renew
v2.1.0 · windows · macosRenew an expiring machine certificate
Requests renewal from the configured enrollment endpoint and installs the new certificate alongside the existing one, removing the old only after the new binding verifies.
- Rollback
- restore-prior-certificate-binding
- Preconditions
- existing_certificate_expires_within_30_days · enrollment_endpoint_reachable · device_domain_or_mdm_joined
- Verification
- new_certificate_present_and_valid · dot1x_or_vpn_binding_still_functions
- Review
- security-eng · sandbox 2026-07-08
sha256:b6104f8ad297e35c02b7dc419e068a3f5721cbd840e9a67f2c1b3d095ae74620
Parameters
- templatestringrequiredCertificate template name as configured in your CA.
koop.credential.cache.purge
v1.1.0 · windowsPurge stale cached credentials for a named target
Removes stale entries from the credential manager for a single enumerated target so the user is prompted once and the correct credential is stored. Scoped to one target; there is no purge-everything parameter.
- Rollback
- none-cached-credential-cannot-be-restored
- Preconditions
- user_session_interactive · target_exists
- Verification
- target_absent_from_store · subsequent_auth_prompt_observed
- Review
- security-eng · sandbox 2026-07-10
sha256:9e03b1c74a2df85601c7ae3b19d06f24851ca07de3b95f218ab04ce61d73f950
Parameters
- targetstringrequiredWhich stored target to purge, enumerated from the device.
koop.driver.rollback
v3.4.0 · windowsRoll a driver back to the prior signed version
Identifies a recently-installed driver, snapshots the current driver store entry, and rolls back to the previously installed signed version. Storage-class rollbacks additionally require approval regardless of policy.
- Rollback
- reinstall-driver-from-snapshot
- Preconditions
- prior_signed_driver_version_in_store · device_on_ac_power · no_pending_reboot
- Verification
- driver_version_matches_prior · device_manager_reports_no_error_code · post_action_telemetry_shows_class_functioning
- Review
- security-eng · sandbox 2026-07-14
sha256:9a41c2be70d385f16b0c4ed9a273f8501cb6d4e2079f3a1c85be620d4fc17a98
Parameters
- device_classstringrequiredWhich class of device. Storage always escalates to approval.display | network | audio | storage | input
- installed_afterstringOnly roll back drivers installed after this instant.
koop.keychain.repair
v1.2.1 · macosRepair the login keychain
Repairs the macOS login keychain when it has desynchronised from the account password, which presents as repeated credential prompts. Never deletes the keychain and never resets a password.
- Rollback
- restore-keychain-from-snapshot
- Preconditions
- user_session_interactive · keychain_present · snapshot_writable
- Verification
- keychain_unlocks · stored_item_readable
- Review
- security-eng · sandbox 2026-07-12
sha256:3d90ca1e7b4f28650c17ae3d92b0f48157ac60de2b915f37ab04ce8d1673f290
No parameters.
koop.package.repair
v2.2.0 · windows · macos · linuxRepair an allowlisted package
Runs the platform package manager's repair for a package drawn from the Koop package allowlist. Never installs a new package, never adds a repository and never upgrades across a major version.
- Rollback
- reinstall-prior-package-version
- Preconditions
- package_installed · package_manager_healthy · device_on_ac_power · no_other_package_operation_in_progress
- Verification
- package_reports_installed_at_expected_version · package_entry_point_executes
- Review
- security-eng · sandbox 2026-07-21
sha256:c05b9e2a7f14d3860bc27ae15d90f4318a6be07c2d4915f8e3ab06d17c245be1
Parameters
- package_idstringrequiredWhich allowlisted package to repair. Not an arbitrary identifier.
koop.printer.driver.reinstall
v1.4.0 · windowsReinstall a printer driver from the local store
Removes and reinstalls a printer driver already present in the local driver store, then re-adds the queue. Downloads nothing.
- Rollback
- restore-printer-queue-and-driver-from-snapshot
- Preconditions
- driver_package_present_in_local_store · spooler_running · no_active_print_job
- Verification
- queue_present_and_ready · test_page_returns_job_id
- Review
- security-eng · sandbox 2026-07-18
sha256:8b2740fce1a935d60c48ae217bd0f39154ca6e08b7d3921fac05be6d4173e820
Parameters
- queue_namestringrequiredWhich print queue, enumerated from the device.
koop.vpn.adapter.reinstall
v3.1.2 · windowsReinstall an orphaned VPN virtual adapter
Detects a virtual adapter left non-functional by an OS update, removes and reinstalls it from the vendor's already-installed driver store, restores the route table and reconnects. Does not download anything.
- Rollback
- restore-adapter-config-and-route-table
- Preconditions
- vendor_client_installed · driver_package_present_in_local_store · device_not_currently_on_vpn
- Verification
- adapter_present_and_enabled · tunnel_establishes · default_route_restored
- Review
- security-eng · sandbox 2026-07-22
sha256:2b8f04c17ad63e95210cbf4d7e08a3169c5d24ba0f7e1938c46b5d02a1fe7c33
Parameters
- vendorstringrequiredWhich vendor's adapter to rebuild.cisco-anyconnect | paloalto-globalprotect | fortinet | openvpn | wireguard
Tier 3
koop.disk.partition.resize
v0.4.0 · windows · linuxResize a disk partition
Resizes a partition. Present in the library as the worked example of a Tier 3 action and permanently gated behind human approval. Partition geometry cannot be reversed in place, which is why no policy can set this to unattended.
- Rollback
- none-partition-geometry-is-permanent
- Preconditions
- verified_backup_within_24_hours · device_on_ac_power · approval_from_policy_admin_or_security
- Verification
- partition_table_consistent · filesystem_mounts · post_action_integrity_check_passes
- Review
- security-eng · sandbox 2026-05-30
sha256:a10f47c2be9d3805617c4dae920fb35d81470c6ea3b95f2d0c8a17be643d92f0
Parameters
- partitionstringrequiredTarget partition, enumerated from the device rather than typed.
- size_gbintegerrequiredNew size in gigabytes.