Error catalog
Every AI-Actionable Error CompanyOS can return, and the next step to take. Generated from the published contract.
Each error has a stable code, a plain message, whether it is recoverable, and thenext step. An AI Client should follow next instead of guessing. 57 codes, generated fromdocs/contracts/ai-actionable-error-catalog.json.
action_platform_authentication_requiredRecoverableAuthentication is required to use the Action Platform.
Next: Sign in to CompanyOS or provide a valid Automation Grant or operation approval.
action_platform_workspace_access_requiredRecoverableAn active Workspace membership is required to use the Action Platform.
Next: Select an active Workspace where you are a Member and retry.
app_not_connectedRecoverableThis App is not connected to the Workspace.
Next: Connect the App from the web app Integrations section, using the connectUrl in the error.
automation_grant_creation_failedRecoverableCould not create the Automation Grant.
Next: Check the requested operation scope and retry.
automation_grant_expiredRecoverableAutomation Grant has expired.
Next: Issue a new grant before retrying this operation.
automation_grant_membership_removedRecoverableThe grant no longer has workspace access.
Next: Recreate this grant from an active workspace membership.
automation_grant_not_foundRecoverableAutomation Grant is invalid.
Next: Issue a new grant and use its latest secret.
automation_grant_operation_scope_mismatchNot recoverableAutomation Grant does not authorize this operation.
Next: Use a grant issued for this operation.
automation_grant_revokedRecoverableAutomation Grant has been revoked.
Next: Issue a new grant before retrying this operation.
disabled_by_ownerRecoverableThis tool or App is disabled by its Workspace Owner.
Next: Ask a Workspace Owner to enable it in the AI clients settings.
invalid_inputRecoverableThe request input is invalid.
Next: Use one of the documented input values and retry.
m365_connection_needs_reconnectRecoverableMicrosoft 365 connection needs reconnect before mail can be sent or discovered.
Next: Ask the Member to reconnect Microsoft 365 in CompanyOS, then retry.
m365_connection_requiredRecoverableMicrosoft 365 is not connected for this Member.
Next: Ask the Member to connect Microsoft 365 in CompanyOS, then retry.
m365_no_available_senderRecoverableNo authorized Microsoft 365 sender is available for this Member.
Next: Connect Microsoft 365 for this Member, or configure an authorized Shared Mailbox, then retry discovery.
m365_provider_failureRecoverableMicrosoft 365 could not accept the email submission.
Next: Retry shortly. If the failure persists, ask the Member to reconnect Microsoft 365.
m365_routine_grant_cadence_exceededRecoverableThis scheduled send exceeds the maximum cadence allowed by the Routine Grant.
Next: Wait until the grant's maximum cadence elapses, or issue a new grant with a higher cadence if authorized.
m365_routine_grant_mismatchNot recoverableThe scheduled send does not match the Routine Grant binding.
Next: Use the exact Shared Mailbox sender and recipients recorded on the Routine Grant. Issue a new grant to change them.
m365_routine_grant_requiredRecoverableScheduled Microsoft 365 sends require a Routine Grant that binds an exact Shared Mailbox, recipients, and output definition.
Next: Issue a Routine Grant for m365.send_email with sender_id, to, cc, output_definition, max cadence, and expiry, then retry with that grant.
m365_sender_not_authorizedRecoverablesender_id is not an authorized sender for this Member connection.
Next: Call m365.list_authorized_senders and use a returned sender_id. Never invent a From address.
m365_sender_permission_lostRecoverableAuthority to use the selected Microsoft 365 sender was lost.
Next: Re-discover authorized senders and repair Shared Mailbox or Member mailbox permissions, then prepare a new approval or grant.
m365_sender_requiredRecoverableScheduled Microsoft 365 sends require an exact discovered sender_id.
Next: Bind a discovered sender_id in the Routine Grant and retry the scheduled invocation.
m365_submission_idempotency_requiredRecoverableMicrosoft 365 email submission requires durable idempotency.
Next: Retry after CompanyOS can persist the submission, using a caller idempotency_key or the routine invocation identifier.
m365_submission_pendingRecoverableThis Microsoft 365 email submission is still in progress.
Next: Retry with the same idempotency key to receive the original submission outcome.
m365_submission_unknownRecoverableMicrosoft 365 submission outcome is unknown; the message may already have been accepted.
Next: Do not send again with a new idempotency key. Retry with the same idempotency key to read the stored outcome, or inspect the mailbox Sent Items before composing a new message.
operation_approval_consumedRecoverableOperation approval was already used.
Next: Issue a new approval before retrying this operation.
operation_approval_expiredRecoverableOperation approval has expired.
Next: Issue a new approval before retrying this operation.
operation_approval_membership_removedRecoverableThe approval no longer has workspace access.
Next: Recreate the approval from an active workspace membership.
operation_approval_not_foundRecoverableOperation approval is invalid.
Next: Issue a new approval and use its latest secret.
operation_approval_payload_mismatchNot recoverableExecution payload does not match the prepared operation payload.
Next: Prepare a new approval with the exact operation input.
operation_approval_scope_mismatchNot recoverableOperation approval was issued for another operation.
Next: Use an approval issued for this operation.
operation_not_foundNot recoverableThe requested operation is not available.
Next: Use capability discovery to select an available operation.
owner_requiredRecoverableOwner role required to execute this operation.
Next: Ask a Workspace Owner to run this action.
procedure_create_failedRecoverableCould not create the procedure draft.
Next: Check required input and retry the write.
routine_grant_collection_not_allowedNot recoverableRoutine Grant does not authorize this Workspace Collection.
Next: Add the Collection to the Routine Grant data scopes, or ask a Workspace Owner to include it.
routine_grant_connection_needs_reconnectRecoverableA Routine Grant Integration connection needs reconnect.
Next: Reconnect the Integration in CompanyOS, then retry.
routine_grant_connection_revokedRecoverableA Routine Grant Integration connection was revoked.
Next: Reconnect the Integration in CompanyOS, then issue a new Routine Grant.
routine_grant_creation_failedRecoverableCould not create the Routine Grant.
Next: Check the requested operation scope, AI client type, and expiry, then retry.
routine_grant_data_scope_mismatchNot recoverableRoutine Grant does not authorize this data scope.
Next: Use the Company Files scope authorized by this Routine Grant.
routine_grant_expiredRecoverableRoutine Grant has expired.
Next: Issue a new grant before retrying this operation.
routine_grant_integration_not_allowedNot recoverableRoutine Grant does not authorize this Integration.
Next: Add the Integration to the Routine Grant data scopes, or reconnect it if disconnected.
routine_grant_invocation_id_requiredRecoverableA stable invocation ID is required for scheduled calls.
Next: Include x-routine-invocation-id with a stable caller-generated identifier and retry.
routine_grant_invocation_pendingRecoverableThis Routine Grant invocation is still in progress.
Next: Retry with the same invocation ID to receive its original result.
routine_grant_membership_removedRecoverableThe grant no longer has workspace access.
Next: Recreate this grant from an active workspace membership.
routine_grant_not_foundRecoverableRoutine Grant is invalid.
Next: Issue a new grant and use its latest secret.
routine_grant_operation_scope_mismatchNot recoverableRoutine Grant does not authorize this operation.
Next: Use a grant issued for this operation.
routine_grant_personal_files_not_allowedNot recoverableRoutine Grant does not authorize Personal Files.
Next: Include personal_files in the Routine Grant data scopes, or request Company Files only.
routine_grant_revokedRecoverableRoutine Grant has been revoked.
Next: Issue a new grant before retrying this operation.
slug_takenRecoverableThis slug is already in use.
Next: Choose a different slug, then retry the store tool.
tool_renamedRecoverableThis tool name has been retired and replaced.
Next: Call the replacement tool named in the error message.