Skip to main content

Appendix: ctx & manifest reference

Quick reference for ctx capabilities and manifest fields

ctx capability reference

NamespacePurposeRequired permission / declaration
ctx.subscriptionsDisposable collector, cleaned up automatically on deactivation
ctx.minitoolSelf metadata (id, version, etc.)
ctx.storagePathAbsolute path to the private persistent directory
ctx.toolsRegister agent tools / discover providers on demandcontributes.tools
ctx.composerActionsComposer toolbar buttonscontributes.composerActions
ctx.uiToast, confirm, modal, forms, Canvas windows
ctx.storageSimple key-value persistence
ctx.secretsEncrypted secret read/writepermissions.secrets
ctx.settingsRead user settings declared in the manifest (read-only)finch.settings
ctx.oauthOAuth login and proxied requestspermissions.oauth
ctx.sessionsCreate, send, wait on, and observe your own sessionspermissions.sessions + container declaration
ctx.sessionContainersRegister container settings menusContainer settingsMenu declaration
ctx.iconsRegister runtime SVG icon packscontributes.iconPacks
ctx.capabilitiesProvide / consume cross-mini-tool capabilitiesprovides / requires
ctx.extensionsRead another mini tool's contribution snapshot
ctx.i18nRead strings from i18n/<locale>.json
ctx.appFinch version, platform, assistant name, etc.
ctx.statusRuntime state snapshot
ctx.loggerLog output

Manifest field reference

Basics

FieldDescription
manifestVersionFixed at 1
idImmutable after install, must match the directory name
name / descriptionUser-facing name and description, in English by default
mainThe compiled entry file, e.g. dist/index.js
activationEventsOnly ["onStartup"] is currently supported
versionInherited from package.json

The manifest can live in finch.json (recommended, no finch wrapper) or package.json#finch (legacy). If both exist, finch.json wins.

contributes

FieldDescription
toolstrue to register agent tools
composerActions[]Composer button slots: id / icon / tooltip
sessionContainers[]Session containers: id / icon / title / mode / agentProfile / settingsMenu / starterPrompts
agentProfiles[]Persona definitions: id / name / description / prompt
mcpServers[]MCP server metadata (no secrets)
iconPacksRuntime SVG icon pack declarations
skillstrue to bundle skills with the package

permissions

PermissionValuePurpose
filesystemnone / read / readwriteLocal file access
networkbooleanOutbound requests
shellbooleanRun shell commands
secretsstring[]Allowed secret names
oauthstring[]Allowed OAuth provider ids
sessionsbooleanUse ctx.sessions

Request the minimum permission needed — use read instead of readwrite whenever possible.

Other common fields

FieldDescription
settings.fields[]User settings, rendered natively by Finch
provides / requiresCapability provision and dependency declarations
categoriesCatalog category
promptGuidesGuide cards on the detail page that pre-fill the Composer when clicked
privacyPolicyUrl / termsOfServiceUrlLinks shown on the detail page