Skip to content

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.

  • ui.sidebar
  • ui.statusBar
  • ui.toolbar
  • ui.contextMenu
  • ui.notifications
  • ui.sheets
  • ui.shortcuts
  • ui.themes
  • ui.preview
  • ui.aiChat
  • ui.webPanel
  • ui.settings
  • filesystem.read
  • filesystem.write
  • filesystem.watch
  • filesystem.readAll
  • filesystem.writeAll
  • shell.execute
  • clipboard.read
  • clipboard.write
  • clipboard.history.read
  • clipboard.history.subscribe
  • clipboard.history.write
  • clipboard.bundles
  • clipboard.contentType.register
  • clipboard.source.register
  • clipboard.transform.register
  • clipboard.destination.register
  • clipboard.rule.register
  • clipboard.retention.predicate.register
  • network.outbound
  • network.unrestricted
  • keychain.plugin
  • interPlugin.declare
  • interPlugin.contribute
  • interPlugin.query
  • interPlugin.emit
  • workspaces
  • cache
  • feedback
  • feedback.confirm
  • oauth
  • menubar
  • menubar.globalShortcut
  • events.topic.declare
  • events.emit
  • events.subscribe
  • events.replay
  • events.inspect
  • events.serializer.register
  • events.sink.register
  • store.namespace.own
  • store.namespace.declare
  • store.namespace.shared.read
  • store.namespace.enumerate
  • store.backend.register
  • store.migrator.register
  • store.indexer.register
  • vault.store
  • vault.read
  • vault.list
  • vault.share
  • vault.audit
  • vault.type.register
  • vault.bridge.register
  • vault.rotator.register
  • vault.policy.contribute
  • actions.register
  • actions.invoke
  • actions.invoke.agent
  • actions.list
  • palette.contribute.scope
  • palette.history
  • scheduler.job.own
  • scheduler.job.enumerate
  • scheduler.trigger.register
  • scheduler.condition.register
  • scheduler.action.register

Context / Resource / Token Graph — fn-92

Section titled “Context / Resource / Token Graph — fn-92”
  • resources.provider.register
  • resources.read
  • resources.watch
  • tokens.provider.register
  • context.compose
  • entities.type.register
  • entities.read
  • entities.write
  • entities.field.attach.own
  • entities.field.attach.shared
  • entities.computedField.provide
  • ledger.read.own
  • ledger.read.shared
  • views.register
  • views.read
  • views.layoutRenderer.register
  • surfaces.contribute.sidebar.top
  • surfaces.contribute.sidebar.bottom
  • surfaces.contribute.pane.dashboard
  • surfaces.contribute.status.left
  • sidecars.definition.register
  • sidecars.instance.start
  • sidecars.instance.stop
  • sidecars.protocol.wrap
  • notifications.emit
  • notifications.channel.register
  • notifications.filter.register
  • notifications.action.register
  • notifications.log.read
  • input.subscribe.messages
  • input.subscribe.intents
  • input.reply
  • input.channel.register
  • input.parser.register
  • input.intent.register
  • input.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.register
  • webhook.route.register.unsigned
  • webhook.outbound.send
  • webhook.log.read
  • webhook.tunnel.read
  • webhook.tunnel.register
  • webhook.signer.register
  • llm.complete
  • llm.stream
  • llm.embed
  • llm.vision
  • llm.agent
  • llm.ledger.read
  • llm.provider.register
  • llm.preprocessor.register
  • llm.postprocessor.register
  • llm.router.register
  • recipes.register
  • recipes.run
  • sequences.register
  • sequences.run
  • 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}

Accepted for backward compatibility but not part of the host’s canonical set. New plugins should use canonical scopes only.

  • network
  • network.fetch
  • shell.uncontained
  • smartFolders
  • webview

Notes from the type definitions:

  • network.fetch is normalized to network.outbound at manifest parse time.
  • network, smartFolders, and webview are historical SDK-only names with no host-side entry.
  • shell.uncontained is not a declarable scope — the uncontained shell tier is inferred from filesystem.readAll, never declared.