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.