Permission scopes
Generated from
packages/plugin-types/src/permissions.ts
and
schemas/constraints.json.
The host-side ground truth is PermissionScope.allKnown in the AppOS host repo.
135 canonical scopes are recognized, plus the dynamic
oauth.<provider> family and 5 legacy aliases.
Canonical scopes
Section titled “Canonical scopes”ui.sidebarui.statusBarui.toolbarui.contextMenuui.notificationsui.sheetsui.shortcutsui.themesui.previewui.aiChatui.webPanelui.settings
Filesystem
Section titled “Filesystem”filesystem.readfilesystem.writefilesystem.watchfilesystem.readAllfilesystem.writeAll
shell.execute
Clipboard (plain pasteboard)
Section titled “Clipboard (plain pasteboard)”clipboard.readclipboard.write
Clipboard — fn-91 Core Clipboard
Section titled “Clipboard — fn-91 Core Clipboard”clipboard.history.readclipboard.history.subscribeclipboard.history.writeclipboard.bundlesclipboard.contentType.registerclipboard.source.registerclipboard.transform.registerclipboard.destination.registerclipboard.rule.registerclipboard.retention.predicate.register
Network
Section titled “Network”network.outboundnetwork.unrestricted
Keychain
Section titled “Keychain”keychain.plugin
Inter-plugin (legacy broker)
Section titled “Inter-plugin (legacy broker)”interPlugin.declareinterPlugin.contributeinterPlugin.queryinterPlugin.emit
Feature namespaces
Section titled “Feature namespaces”workspacescachefeedbackfeedback.confirmoauthmenubarmenubar.globalShortcut
Typed event bus — fn-70
Section titled “Typed event bus — fn-70”events.topic.declareevents.emitevents.subscribeevents.replayevents.inspectevents.serializer.registerevents.sink.register
Store — fn-71
Section titled “Store — fn-71”store.namespace.ownstore.namespace.declarestore.namespace.shared.readstore.namespace.enumeratestore.backend.registerstore.migrator.registerstore.indexer.register
Vault — fn-72
Section titled “Vault — fn-72”vault.storevault.readvault.listvault.sharevault.auditvault.type.registervault.bridge.registervault.rotator.registervault.policy.contribute
Public Action Fabric — fn-89
Section titled “Public Action Fabric — fn-89”actions.registeractions.invokeactions.invoke.agentactions.listpalette.contribute.scopepalette.history
Scheduler — fn-90
Section titled “Scheduler — fn-90”scheduler.job.ownscheduler.job.enumeratescheduler.trigger.registerscheduler.condition.registerscheduler.action.register
Context / Resource / Token Graph — fn-92
Section titled “Context / Resource / Token Graph — fn-92”resources.provider.registerresources.readresources.watchtokens.provider.registercontext.compose
Entity / Field Registry — fn-93
Section titled “Entity / Field Registry — fn-93”entities.type.registerentities.readentities.writeentities.field.attach.ownentities.field.attach.sharedentities.computedField.provide
Execution / Approval Ledger — fn-94
Section titled “Execution / Approval Ledger — fn-94”ledger.read.ownledger.read.shared
Views / Surfaces — fn-95
Section titled “Views / Surfaces — fn-95”views.registerviews.readviews.layoutRenderer.registersurfaces.contribute.sidebar.topsurfaces.contribute.sidebar.bottomsurfaces.contribute.pane.dashboardsurfaces.contribute.status.left
Protocol Sidecars — fn-96
Section titled “Protocol Sidecars — fn-96”sidecars.definition.registersidecars.instance.startsidecars.instance.stopsidecars.protocol.wrap
Notifications (outbound) — fn-97
Section titled “Notifications (outbound) — fn-97”notifications.emitnotifications.channel.registernotifications.filter.registernotifications.action.registernotifications.log.read
Input Channels (inbound) — fn-98
Section titled “Input Channels (inbound) — fn-98”input.subscribe.messagesinput.subscribe.intentsinput.replyinput.channel.registerinput.parser.registerinput.intent.registerinput.auth.register
Webhook Gateway — fn-99 (+ webhook.tunnel.read from fn-118)
Section titled “Webhook Gateway — fn-99 (+ webhook.tunnel.read from fn-118)”webhook.route.registerwebhook.route.register.unsignedwebhook.outbound.sendwebhook.log.readwebhook.tunnel.readwebhook.tunnel.registerwebhook.signer.register
LLM Provider — fn-100
Section titled “LLM Provider — fn-100”llm.completellm.streamllm.embedllm.visionllm.agentllm.ledger.readllm.provider.registerllm.preprocessor.registerllm.postprocessor.registerllm.router.register
Recipes / Sequences — fn-101
Section titled “Recipes / Sequences — fn-101”recipes.registerrecipes.runsequences.registersequences.run
Dynamic scope families
Section titled “Dynamic scope families”oauth.*— Dynamic OAuth provider scopes (e.g., oauth.github, oauth.google) (pattern:^oauth\.[A-Za-z0-9._-]+$)
Declared in the TypeScript union as: oauth.${string}
Legacy aliases (deprecated)
Section titled “Legacy aliases (deprecated)”Accepted for backward compatibility but not part of the host’s canonical set. New plugins should use canonical scopes only.
networknetwork.fetchshell.uncontainedsmartFolderswebview
Notes from the type definitions:
network.fetchis normalized tonetwork.outboundat manifest parse time.network,smartFolders, andwebvieware historical SDK-only names with no host-side entry.shell.uncontainedis not a declarable scope — the uncontained shell tier is inferred fromfilesystem.readAll, never declared.