Skip to content

Command reference

35 plugins, 174 commands.

Launch the app automatically at login.

  • Namespace: autostart
  • Platforms: desktop
Command Arguments Returns Description
autostart:enable void Register the app to launch at login.
autostart:disable void Stop launching the app at login.
autostart:is_enabled bool Whether the app is currently set to launch at login.

Permissions:

  • autostart:default — grants autostart:*: Allow all autostart commands.

Read device battery level and charging state.

  • Namespace: battery
  • Platforms: desktop, android, ios
Command Arguments Returns Description
battery:status BatteryStatus

Permissions:

  • battery:default — grants battery:*: Allow reading battery status.

Authenticate the user with Face ID / Touch ID / BiometricPrompt.

  • Namespace: biometric
  • Platforms: android, ios
Command Arguments Returns Description
biometric:status string
biometric:authenticate AuthenticateArgs AuthenticateResult

Permissions:

  • biometric:default — grants biometric:*: Allow biometric authentication prompts.

Declarative CLI arguments parsed at startup and exposed to the frontend.

  • Namespace: cli
  • Platforms: desktop
Command Arguments Returns Description
cli:matches ArgMatches The parsed command line for this run.

Permissions:

  • cli:default — grants cli:*: Allow all cli commands.

Read, write, and clear clipboard text.

  • Namespace: clipboard
  • Platforms: desktop, android, ios
Command Arguments Returns Description
clipboard:read_text string
clipboard:write_text WriteTextArgs void
clipboard:clear void

Permissions:

  • clipboard:default — grants clipboard:*: Allow all clipboard commands.

Read app protocol URLs from process arguments (desktop) or platform intents (mobile).

  • Namespace: deep-link
  • Platforms: desktop, android, ios
Command Arguments Returns Description
deep-link:get_pending string[]
deep-link:schemes string[]
deep-link:info DeepLinkInfo

Permissions:

  • deep-link:default — grants deep-link:*: Allow deep-link commands.

Open native file, folder, message, and confirmation dialogs.

  • Namespace: dialog
  • Platforms: desktop, android, ios
Command Arguments Returns Description
dialog:open_file OpenFileArgs string[]?
dialog:save_file SaveFileArgs string?
dialog:open_folder OpenFolderArgs string?
dialog:message MessageArgs void
dialog:confirm ConfirmArgs bool

Permissions:

  • dialog:default — grants dialog:*: Allow all dialog commands.

Read and write files and directories.

  • Namespace: fs
  • Platforms: desktop, android, ios
Command Arguments Returns Description
fs:read_file ReadFileArgs string
fs:write_file WriteFileArgs void
fs:read_dir ReadDirArgs DirEntry[]
fs:exists ExistsArgs bool
fs:rename RenameArgs void
fs:delete DeleteArgs void
fs:create_dir ReadDirArgs void

Permissions:

  • fs:default — grants fs:*: Allow all file-system commands.

Read the device’s current position.

  • Namespace: geolocation
  • Platforms: android, ios
Command Arguments Returns Description
geolocation:current CurrentPositionArgs GeolocationPosition?

Permissions:

  • geolocation:default — grants geolocation:*: Allow reading the device position.

Register global keyboard shortcuts.

  • Namespace: global-shortcut
  • Platforms: desktop
Command Arguments Returns Description
global-shortcut:register RegisterShortcutArgs ShortcutInfo
global-shortcut:unregister ShortcutIdArgs bool
global-shortcut:unregister_all bool
global-shortcut:list ShortcutInfo[]

Permissions:

  • global-shortcut:default — grants global-shortcut:*: Allow global shortcut commands.

Play haptic feedback (impact, notification, vibrate).

  • Namespace: haptics
  • Platforms: android, ios
Command Arguments Returns Description
haptics:impact ImpactArgs void
haptics:notification NotificationArgs void
haptics:vibrate VibrateArgs void

Permissions:

  • haptics:default — grants haptics:*: Allow all haptics commands.

Make scoped HTTP requests from the backend.

  • Namespace: http
  • Platforms: desktop, android, ios
Command Arguments Returns Description
http:fetch FetchArgs FetchResponse

Permissions:

  • http:default — grants http:*: Allow all HTTP commands.

Serve the app over a real http://127.0.0.1 port.

  • Namespace: localhost
  • Platforms: desktop
Command Arguments Returns Description
localhost:url string The URL the app is being served from, or “” if not running.
localhost:start LocalhostStartArgs string (Re)start the server; returns the URL.
localhost:stop void Stop the server.

Permissions:

  • localhost:default — grants localhost:*: Allow all localhost commands.

Leveled logging to stdout, a rolling file, and the webview console.

  • Namespace: log
  • Platforms: desktop, android, ios
Command Arguments Returns Description
log:log LogArgs void

Permissions:

  • log:default — grants log:*: Allow all log commands.

Update the native app menu from the frontend.

  • Namespace: menu
  • Platforms: desktop
Command Arguments Returns Description
menu:set_enabled SetMenuEnabledArgs void
menu:set_checked SetMenuCheckedArgs void
menu:set_label SetMenuLabelArgs void
menu:set_app_menu SetAppMenuArgs void Replace the whole menu with one the frontend describes (Task 2.11). Clicks on the items come back as menu:item_clicked carrying the item’s id, since a declared item has no C# handler to run.

Permissions:

  • menu:default — grants menu:*: Allow all menu commands.

Read NFC (NDEF) tags.

  • Namespace: nfc
  • Platforms: android, ios
Command Arguments Returns Description
nfc:status string
nfc:scan ScanArgs NfcTag?

Permissions:

  • nfc:default — grants nfc:*: Allow reading NFC tags.

Send native notifications (desktop and mobile).

  • Namespace: notification
  • Platforms: desktop, android, ios
Command Arguments Returns Description
notification:send SendNotificationArgs void

Permissions:

  • notification:default — grants notification:*: Allow all notification commands.

Open files, folders, and URLs with the operating system.

  • Namespace: opener
  • Platforms: desktop
Command Arguments Returns Description
opener:open_path OpenPathArgs bool
opener:open_url OpenUrlArgs bool
opener:reveal_path OpenPathArgs bool

Permissions:

  • opener:default — grants opener:*: Allow opener commands.

Read operating system information (platform, arch, version, …).

  • Namespace: os
  • Platforms: desktop, android, ios
Command Arguments Returns Description
os:info OsInfo
os:platform string
os:arch string
os:version string
os:family string
os:hostname string

Permissions:

  • os:default — grants os:*: Allow all OS commands.

OS-standard app directories and path manipulation.

  • Namespace: path
  • Platforms: desktop, android, ios
Command Arguments Returns Description
path:home_dir string
path:temp_dir string
path:resource_dir string Directory holding the app’s bundled resources (bundle.resources). Its real location differs by platform: Linux launchers export CARBON_RESOURCE_DIR; macOS keeps them in the .app’s Contents/Resources (beside Contents/MacOS); Windows uses a resources/ dir next to the executable; unbundled dev runs fall back to the output directory.
path:resolve_resource PathArg string Resolve a path relative to the resource directory (Tauri’s resolveResource).
path:app_config_dir string
path:app_data_dir string
path:app_cache_dir string
path:app_log_dir string
path:resolve PathPartsArgs string Combine and resolve to an absolute path.
path:join PathPartsArgs string Join path segments with the OS separator (no resolution).
path:dirname PathArg string
path:basename PathArg string
path:extname PathArg string
path:normalize PathArg string
path:is_absolute PathArg bool
path:sep string
path:delimiter string

Permissions:

  • path:default — grants path:*: Allow all path commands.

Check and request runtime device permissions.

  • Namespace: permissions
  • Platforms: desktop, android, ios
Command Arguments Returns Description
permissions:status PermissionArgs string
permissions:request PermissionArgs string

Permissions:

  • permissions:default — grants permissions:*: Allow checking and requesting device permissions.

Remember runtime-granted fs/asset scopes across restarts.

  • Namespace: persisted-scope
  • Platforms: desktop
Command Arguments Returns Description
persisted-scope:allow ScopeGrant void Grant a path to a scope and persist it.
persisted-scope:list Dictionary<string, List<string>> The persisted grants, keyed by scope.
persisted-scope:clear void Forget all persisted grants and delete the store.

Permissions:

  • persisted-scope:default — grants persisted-scope:*: Allow all persisted-scope commands.

Move a window to named positions (top-right, center, …).

  • Namespace: positioner
  • Platforms: desktop
Command Arguments Returns Description
positioner:move PositionerMoveArgs void Move a window to a named position.

Permissions:

  • positioner:default — grants positioner:*: Allow all positioner commands.

Exit and relaunch the application.

  • Namespace: process
  • Platforms: desktop
Command Arguments Returns Description
process:pid int The current process id.
process:exit ExitArgs void Exit the app immediately with the given code.
process:relaunch void Start a fresh copy of the app with the same arguments, then exit this one.

Permissions:

  • process:default — grants process:*: Allow all process commands.

Encrypted key-value store on the OS credential store.

  • Namespace: secure-storage
  • Platforms: desktop
Command Arguments Returns Description
secure-storage:set SecretArgs void Store a secret.
secure-storage:get KeyArgs string? Read a secret, or null if it isn’t set.
secure-storage:remove KeyArgs void Delete a secret.
secure-storage:has KeyArgs bool Whether a secret is set.

Permissions:

  • secure-storage:default — grants secure-storage:*: Allow all secure-storage commands.

Run processes and open paths or URLs.

  • Namespace: shell
  • Platforms: desktop
Command Arguments Returns Description
shell:execute ExecuteArgs ShellResult
shell:open OpenArgs void
shell:open_url OpenArgs void

Permissions:

  • shell:default — grants shell:*: Allow all shell commands.

Detect and guard against duplicate app instances.

  • Namespace: single-instance
  • Platforms: desktop
Command Arguments Returns Description
single-instance:status SingleInstanceStatus
single-instance:is_primary bool

Permissions:

  • single-instance:default — grants single-instance:*: Allow single-instance commands.

SQLite database access with migrations.

  • Namespace: sql
  • Platforms: desktop
Command Arguments Returns Description
sql:load SqlLoadArgs string Open a database (creating it if needed) and apply pending migrations.
sql:execute SqlQueryArgs SqlExecuteResult Run a write query; returns rows affected and the last inserted row id.
sql:select SqlQueryArgs List<Dictionary<string, JsonNode?>> Run a read query; returns each row as a name → value map.
sql:close SqlLoadArgs void Close a database.

Permissions:

  • sql:default — grants sql:*: Allow all sql commands.

Persistent JSON key/value stores.

  • Namespace: store
  • Platforms: desktop, android, ios
Command Arguments Returns Description
store:get StoreKeyArgs JsonElement?
store:set StoreSetArgs StoreSnapshot
store:delete StoreKeyArgs StoreSnapshot
store:clear StoreLoadArgs StoreSnapshot
store:entries StoreLoadArgs StoreSnapshot
store:keys StoreLoadArgs string[]

Permissions:

  • store:default — grants store:*: Allow persistent store commands.

Update the system tray icon from the frontend.

  • Namespace: tray
  • Platforms: desktop
Command Arguments Returns Description
tray:set_icon SetTrayIconArgs void
tray:set_title SetTrayTitleArgs void
tray:set_tooltip SetTrayTooltipArgs void
tray:set_visible SetTrayVisibleArgs void
tray:remove void
tray:set_menu SetTrayMenuArgs void Replace the tray menu with one the frontend describes (Task 2.11). Clicks come back as tray:item_clicked, since a declared item has no C# handler to run.

Permissions:

  • tray:default — grants tray:*: Allow all tray commands.

Check signed updater manifests.

  • Namespace: updater
  • Platforms: desktop
Command Arguments Returns Description
updater:status UpdaterStatus
updater:check CheckUpdateArgs UpdateCheckResult
updater:download DownloadUpdateArgs UpdateDownloadResult
updater:install InstallUpdateArgs UpdateInstallResult
updater:install_and_restart InstallUpdateArgs UpdateInstallResult

Permissions:

  • updater:default — grants updater:*: Allow updater commands.

Chunked file upload and download with progress events.

  • Namespace: upload
  • Platforms: desktop
Command Arguments Returns Description
upload:upload UploadArgs string Upload a file; returns the server’s response body.
upload:download DownloadArgs void Download a URL to a local file.

Permissions:

  • upload:default — grants upload:*: Allow all upload commands.

Client websocket connections proxied through the backend.

  • Namespace: websocket
  • Platforms: desktop
Command Arguments Returns Description
websocket:connect WsConnectArgs long Open a connection; returns its id. Received frames arrive as websocket:message events.
websocket:send WsSendArgs void Send a text frame on a connection.
websocket:disconnect WsDisconnectArgs void Close a connection.

Permissions:

  • websocket:default — grants websocket:*: Allow all websocket commands.

Create and control labeled windows and webviews.

  • Namespace: window
  • Platforms: desktop
Command Arguments Returns Description
window:create CreateWindowArgs WindowState
window:get_all List<WindowState>
window:get_by_label TargetWindowArgs WindowState?
window:set_title SetTitleArgs void
window:set_size SetSizeArgs void
window:set_position SetPositionArgs void
window:center TargetWindowArgs void
window:minimize TargetWindowArgs void
window:maximize TargetWindowArgs void
window:unmaximize TargetWindowArgs void
window:set_fullscreen SetFullscreenArgs void
window:set_always_on_top SetAlwaysOnTopArgs void
window:set_resizable SetResizableArgs void
window:close TargetWindowArgs void
window:get_state TargetWindowArgs WindowState
window:show TargetWindowArgs void
window:hide TargetWindowArgs void
window:set_focus TargetWindowArgs void
window:is_visible TargetWindowArgs bool
window:is_focused TargetWindowArgs bool
window:request_user_attention TargetWindowArgs void
window:start_dragging TargetWindowArgs void Begin dragging the window (Task 3.8). Meant to be called from a mousedown on a custom title bar / drag region, so a frameless or full-window app can still be moved.
window:set_progress_bar SetProgressArgs void
window:set_badge SetBadgeArgs void Set the app badge to Value (null clears it). macOS dock only.
window:set_effect SetEffectArgs void Apply a background effect (Task 3.10). See .
window:set_close_interception SetFlagArgs void Turn close interception on/off for a window. While on, the OS close is held and a window:close-requested event is emitted instead; the frontend closes for real with window:destroy. Set automatically by the JS onCloseRequested helper.
window:destroy TargetWindowArgs void Close a window for real, bypassing any interception.
window:get_theme TargetWindowArgs string
window:set_theme SetThemeArgs void
window:available_monitors TargetWindowArgs List<MonitorInfo>
window:primary_monitor TargetWindowArgs MonitorInfo?
window:current_monitor TargetWindowArgs MonitorInfo?
window:scale_factor TargetWindowArgs double
window:set_cursor_icon SetCursorIconArgs void
window:set_cursor_visible SetFlagArgs void
window:set_cursor_grab SetFlagArgs void
window:set_cursor_position SetPositionArgs void
window:set_decorations SetFlagArgs void
window:set_closable SetFlagArgs void
window:set_minimizable SetFlagArgs void
window:set_maximizable SetFlagArgs void
window:set_always_on_bottom SetFlagArgs void
window:set_skip_taskbar SetFlagArgs void
window:set_content_protected SetFlagArgs void
window:set_ignore_cursor_events SetFlagArgs void
window:set_icon SetIconArgs void
window:set_min_size SetMinSizeArgs void
window:set_max_size SetMaxSizeArgs void
window:inner_size TargetWindowArgs WindowSize
window:outer_size TargetWindowArgs WindowSize
window:inner_position TargetWindowArgs WindowPosition
window:outer_position TargetWindowArgs WindowPosition
window:is_maximized TargetWindowArgs bool
window:is_minimized TargetWindowArgs bool
window:is_fullscreen TargetWindowArgs bool

Permissions:

  • window:default — grants window:*: Allow all window commands.

Persist and restore window size, position, and maximized state across runs.

  • Namespace: window-state
  • Platforms: desktop
Command Arguments Returns Description
window-state:save void Capture every window’s current geometry and write it now.
window-state:restore WindowLabelArgs void Re-apply the saved geometry to a window.
window-state:get WindowLabelArgs WindowState? The saved state for a window, or null if none.
window-state:clear void Forget all saved state and delete the state file.

Permissions:

  • window-state:default — grants window-state:*: Allow all window-state commands.