Skip to content

Configuration

Taurify configuration.

Defines metadata about your application for the installers and the runtime options.

Object Properties:

  • android
  • app (required)
  • backend
  • beforeBuildCommand
  • beforeDevCommand
  • cloudAppSlug
  • cloudOrgSlug
  • copyright
  • description
  • devSrc
  • identifier (required)
  • iOS
  • linux
  • longDescription
  • macOS
  • productionSrc
  • productName (required)
  • publicKey
  • version (required)
  • windows

android

AndroidConfig | null

Configuration for Android.

app

AppConfig

Application configuration.

backend

Backend | null

Backend configuration.

beforeBuildCommand

string | null

A script that is executed before building your app when running taurify build or taurify run.

By default, we use one of “build:taurify ” or “build” if it exists in your package.json file.

beforeDevCommand

string | null

A script that is executed before starting your app when running taurify dev.

By default, we use one of “dev:taurify ”, “dev”, “serve” or “start” if it exists in your package.json file.

cloudAppSlug

string | null

Slug of the CrabNebula Cloud application to create releases containing the build artifacts.

cloudOrgSlug

string | null

Slug of the CrabNebula Cloud organization this app belongs to.

string | null

Legal copyright.

description

string | null

Application short description. Added to the package installers.

devSrc

AppSource | null

URL or path to load in development.

Automatically inferred for Vite, Webpack, Next.js, create-react-app, esbuild and Parcel.

identifier

string

App bundle identifier. Usually in reverse domain format like com.company.appname.

Must be unique across applications.

iOS

IosConfig | null

Configuration for iOS.

linux

LinuxConfig | null

Configuration for Linux.

longDescription

string | null

Application long description. Added to the package installers.

macOS

MacosConfig | null

Configuration for macOS.

productionSrc

AppSource | null

URL or path to load in production.

Automatically inferred for Vite, Webpack, Next.js, create-react-app, esbuild and Parcel.

productName

string

Product name.

publicKey

string | null

Public key that is used to verify assets and updates.

version

Version

Application version.

windows

WindowsConfig | null

Configuration for Windows.

Definitions

ActivationPolicy

One of the following:

  • "regular" Corresponds to NSApplicationActivationPolicyRegular.
  • "accessory" Corresponds to NSApplicationActivationPolicyAccessory.
  • "prohibited" Corresponds to NSApplicationActivationPolicyProhibited.

AndroidBundle

"apk" | "aab"

Android bundles.

AndroidConfig

Android configuration.

Object Properties:

  • targets
targets

AndroidTargetConfig[]

Default: []

AndroidTargetConfig

Android target configuration.

Object Properties:

  • bundle (required)
bundle

AndroidBundle

AppConfig

App configuration.

Object Properties:

  • activationPolicy
  • desktopDeepLinks
  • fileAssociations
  • icon
  • menu
  • mobileDeepLinks
  • singleInstance
  • trays
  • windows
activationPolicy

ActivationPolicy | null

macOS activation policy.

DesktopDeepLink[] | null

Desktop deep links.

fileAssociations

FileAssociation[] | null

File associations to register your app as an option to open a list of file extensions.

icon

string | null

Path to your app icon. Must be either a PNG or a SVG file.

Menu | null

Application menu.

On macOS this is the menu that is populated in the top bar. On Linux and Windows, this is the default window menu unless a specific configured.

MobileDeepLink[] | null

Mobile deep links.

singleInstance

boolean

Whether the app should prevent multiple instances to be executed at the same time or not.

trays

Tray[] | null

trays

windows

WindowConfig[] | null

Definitions for windows that are created when the app is executed.

AppSource

string | string formatted as uri

Source of the application. Defines which asset or URL to load.

Backend

Object Properties:

  • entryPoint
  • flavor (required)
  • path (required)
entryPoint

string | null

flavor

"deno"

path

string

BundleTypeRole

One of the following:

  • "editor" CFBundleTypeRole.Editor. Files can be read and edited.
  • "viewer" CFBundleTypeRole.Viewer. Files can be read.
  • "shell" CFBundleTypeRole.Shell
  • "qLGenerator" CFBundleTypeRole.QLGenerator
  • "none" CFBundleTypeRole.None

App’s role.

CheckMenuItem

A menu item that has a checkbox next to it.

Object Properties:

  • accelerator
  • checked (required)
  • enabled
  • id
  • text (required)
accelerator

string | null

A shortcut that can be used to trigger this menu such as Ctrl + Shift + L.

checked

boolean

Whether the checkbox is checked or not.

enabled

boolean | null

Whether the menu item is enabled or not.

id

string | null

Item identifier. Can be used to reference this item at runtime.

text

string

Text that is displayed on this menu item.

Color

Any of the following:

  • string pattern of ^#?([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$ Color hex string, for example: #fff, #ffffff, or #ffffffff.
  • integer formatted as uint8 | integer formatted as uint8 | integer formatted as uint8[] maximum of 3 items, minimum of 3 items Array of RGB colors. Each value has minimum of 0 and maximum of 255.
  • integer formatted as uint8 | integer formatted as uint8 | integer formatted as uint8 | integer formatted as uint8[] maximum of 4 items, minimum of 4 items Array of RGBA colors. Each value has minimum of 0 and maximum of 255.
  • Object of red, green, blue, alpha color values. Each value has minimum of 0 and maximum of 255. Object Properties: - alpha - blue (required) - green (required) - red (required) ##### alpha integer formatted as uint8 Default: 255 ##### blue integer formatted as uint8 ##### green integer formatted as uint8 ##### red integer formatted as uint8

Desktop deep link protocol

Object Properties:

  • name
  • role
  • schemes (required)
name

string | null

The protocol name. macOS-only and maps to CFBundleTypeName. Defaults to <bundle-id>.<schemes[0]>

role

BundleTypeRole

The app’s role for these schemes. macOS-only and maps to CFBundleTypeRole.

Default: "editor"

schemes

string[]

URL schemes to associate with this app without ://. For example my-app

FileAssociation

Object Properties:

  • description
  • extensions (required)
  • mimeType
  • name
  • role
description

string | null

The association description. Windows-only. It is displayed on the Type column on Windows Explorer.

extensions

string[]

File extensions to associate with this app. e.g. ‘png’

mimeType

string | null

The mime-type e.g. ‘image/png’ or ‘text/plain’. Linux-only.

name

string | null

The name. Maps to CFBundleTypeName on macOS. Defaults to the first extension.

role

BundleTypeRole

The app’s role with respect to the type. Maps to CFBundleTypeRole on macOS. Defaults to [BundleTypeRole::Editor]

Default: "editor"

Icon

Any of the following:

  • NativeIcon Icon that is defined by the operating system.
  • string Icon from image.

An icon that can be added to a menu item.

IconMenuItem

A menu item that has an associated icon.

Object Properties:

  • accelerator
  • enabled
  • icon (required)
  • id
  • text (required)
accelerator

string | null

A shortcut that can be used to trigger this menu such as Ctrl + Shift + L.

enabled

boolean | null

Whether the menu item is enabled or not.

icon

Icon

The icon to display.

id

string | null

Item identifier. Can be used to reference this item at runtime.

text

string

Text that is displayed on this menu item.

IosBundle

"app-store-connect" | "release-testing" | "debugging"

iOS target.

IosConfig

iOS configuration.

Object Properties:

  • targets
targets

IosTargetConfig[]

Default: []

IosTargetConfig

iOS target configuration.

Object Properties:

  • bundle (required)
bundle

IosBundle

LinuxBundle

"appimage" | "debian"

Linux bundles.

LinuxConfig

Linux configuration.

Object Properties:

  • targets
targets

LinuxTargetConfig[]

Default: []

LinuxTargetConfig

Linux target configuration.

Object Properties:

  • bundle (required)
bundle

LinuxBundle

MacosArch

"all" | "arm64" | "x64" | "universal"

MacosBundle

"dmg"

MacosConfig

macOS configuration.

Object Properties:

  • arch (required)
  • targets
arch

MacosArch

targets

MacosTargetConfig[]

Default: []

MacosTargetConfig

MacOS target configuration.

Object Properties:

  • bundle (required)
bundle

MacosBundle

Menu that can be attached to an application, window or tray icon.

Object Properties:

  • accelerator
  • checked
  • enabled
  • icon
  • id
  • items
  • text
accelerator

string | null

A shortcut that can be used to trigger this menu such as Ctrl + Shift + L.

checked

boolean | null

Whether it is checked or not. By default, a checkbox is not associated with the menu.

enabled

boolean | null

Whether it is enabled or not. Defaults to true.

icon

Icon | null

An icon to display in the menu entry.

id

string | null

Menu identifier. Can be used to reference this menu at runtime.

items

MenuItemKind[] | null

List of items that are displayed when this menu is opened.

text

string | null

Text that is displayed in the menu entry.

Object Properties:

  • accelerator
  • enabled
  • id
  • text (required)
accelerator

string | null

A shortcut that can be used to trigger this menu such as Ctrl + Shift + L.

enabled

boolean | null

Whether the menu item is enabled or not.

id

string | null

Item identifier. Can be used to reference this item at runtime.

text

string

Text that is displayed on this menu item.

Any of the following:

Collection of available menu items.

Mobile deep link.

Object Properties:

  • host (required)
  • pathPrefix
host

string

pathPrefix

string[]

Default: []

NativeIcon

One of the following:

  • "Add" An add item template image.
  • "Advanced" Advanced preferences toolbar icon for the preferences window.
  • "Bluetooth" A Bluetooth template image.
  • "Bookmarks" Bookmarks image suitable for a template.
  • "Caution" A caution image.
  • "ColorPanel" A color panel toolbar icon.
  • "ColumnView" A column view mode template image.
  • "Computer" A computer icon.
  • "EnterFullScreen" An enter full-screen mode template image.
  • "Everyone" Permissions for all users.
  • "ExitFullScreen" An exit full-screen mode template image.
  • "FlowView" A cover flow view mode template image.
  • "Folder" A folder image.
  • "FolderBurnable" A burnable folder icon.
  • "FolderSmart" A smart folder icon.
  • "FollowLinkFreestanding" A link template image.
  • "FontPanel" A font panel toolbar icon.
  • "GoLeft" A go back template image.
  • "GoRight" A go forward template image.
  • "Home" Home image suitable for a template.
  • "IChatTheater" An iChat Theater template image.
  • "IconView" An icon view mode template image.
  • "Info" An information toolbar icon.
  • "InvalidDataFreestanding" A template image used to denote invalid data.
  • "LeftFacingTriangle" A generic left-facing triangle template image.
  • "ListView" A list view mode template image.
  • "LockLocked" A locked padlock template image.
  • "LockUnlocked" An unlocked padlock template image.
  • "MenuMixedState" A horizontal dash, for use in menus.
  • "MenuOnState" A check mark template image, for use in menus.
  • "MobileMe" A MobileMe icon.
  • "MultipleDocuments" A drag image for multiple items.
  • "Network" A network icon.
  • "Path" A path button template image.
  • "PreferencesGeneral" General preferences toolbar icon for the preferences window.
  • "QuickLook" A Quick Look template image.
  • "RefreshFreestanding" A refresh template image.
  • "Refresh" A refresh template image.
  • "Remove" A remove item template image.
  • "RevealFreestanding" A reveal contents template image.
  • "RightFacingTriangle" A generic right-facing triangle template image.
  • "Share" A share view template image.
  • "Slideshow" A slideshow template image.
  • "SmartBadge" A badge for a smart item.
  • "StatusAvailable" Small green indicator, similar to iChat’s available image.
  • "StatusNone" Small clear indicator.
  • "StatusPartiallyAvailable" Small yellow indicator, similar to iChat’s idle image.
  • "StatusUnavailable" Small red indicator, similar to iChat’s unavailable image.
  • "StopProgressFreestanding" A stop progress template image.
  • "StopProgress" A stop progress button template image.
  • "TrashEmpty" An image of the empty trash can.
  • "TrashFull" An image of the full trash can.
  • "User" Permissions for a single user.
  • "UserAccounts" User account toolbar icon for the preferences window.
  • "UserGroup" Permissions for a group of users.
  • "UserGuest" Permissions for guests.

Icon defined by the operating system.

Predefined

"Separator" | "Copy" | "Cut" | "Paste" | "SelectAll" | "Undo" | "Redo" | "Minimize" | "Maximize" | "Fullscreen" | "Hide" | "HideOthers" | "ShowAll" | "CloseWindow" | "Quit" | "About" | "Services"

Predefined menu item options.

PredefinedMenuItem

A predefined menu item is defined by the operating system. It has a default behavior and text.

Object Properties:

  • item (required)
  • text
item

Predefined

The predefined item.

text

string | null

Overrides the item text if desired.

A submenu is a menu item that opens a list of items when clicked.

Object Properties:

  • enabled
  • id
  • items (required)
  • text (required)
enabled

boolean | null

Whether the menu item is enabled or not.

id

string | null

Submenu identifier. Can be used to reference this submenu at runtime.

items

MenuItemKind[]

List of items that are displayed when this submenu is opened.

text

string

Text that is displayed on this menu item.

Theme

One of the following:

  • "Light" Light theme.
  • "Dark" Dark theme.

TitleBarStyle

One of the following:

  • "Visible" A normal title bar.
  • "Transparent" Makes the title bar transparent, so the window background color is shown instead. Useful if you don’t need to have actual HTML under the title bar. This lets you avoid the caveats of using TitleBarStyle::Overlay. Will be more useful when Tauri lets you set a custom window background color.
  • "Overlay" Shows the title bar as a transparent overlay over the window’s content. Keep in mind: - The height of the title bar is different on different OS versions, which can lead to window the controls and title not being where you don’t expect. - You need to define a custom drag region to make your window draggable, however due to a limitation you can’t drag the window when it’s not in focus <https://github.com/tauri-apps/tauri/issues/4316>. - The color of the window title depends on the system theme.

Tray

A tray icon that is displayed in the operating system taskbar.

Object Properties:

  • icon
  • iconAsTemplate
  • id
  • menu
  • showMenuOnLeftClick
  • title
  • tooltip
icon

string | null

Path to the icon to display, relative to the dist folder.

iconAsTemplate

boolean | null

Whether the icon should be a template icon or not.

On macOS, a template icon is not colored and follows the system theme.

id

string | null

Tray icon id. Can be used to reference it at runtime.

Menu | null

A menu that is shown when the tray icon receives a right click.

To also show the menu on left click, enable the menuOnLeftClick option.

showMenuOnLeftClick

boolean | null

Whether the associated menu should be displayed when the icon receives a left click. By default, only a right click opens the menu.

title

string | null

A title that is added next to the tray icon.

tooltip

string | null

A label that is displayed when the tray icon is hovered.

Version

string pattern of ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$

WebviewUrl

Any of the following:

  • string formatted as uri An external URL. Must use either the http or https schemes.
  • string The path portion of an app URL. For instance, to load tauri://localhost/users/john, you can simply provide users/john in this configuration.

WindowConfig

Window configuration.

Object Properties:

  • acceptFirstMouse
  • additionalBrowserArgs
  • alwaysOnBottom
  • alwaysOnTop
  • backgroundColor
  • center
  • closable
  • contentProtected
  • decorations
  • dragDropEnabled
  • focus
  • fullscreen
  • height
  • hiddenTitle
  • incognito
  • label
  • maxHeight
  • maximizable
  • maximized
  • maxWidth
  • menu
  • minHeight
  • minimizable
  • minWidth
  • parent
  • persistState
  • proxyUrl
  • resizable
  • shadow
  • skipTaskbar
  • tabbingIdentifier
  • theme
  • title
  • titleBarStyle
  • transparent
  • url
  • userAgent
  • visible
  • visibleOnAllWorkspaces
  • width
  • x
  • y
  • zoomHotkeysEnabled
acceptFirstMouse

boolean | null

Whether clicking an inactive window also clicks through to the webview on macOS.

additionalBrowserArgs

string | null

Defines additional browser arguments on Windows. By default, wry passes --disable-features=msWebOOUI,msPdfOOUI,msSmartScreenProtection so if you use this method, you also need to disable these components by yourself if you want.

alwaysOnBottom

boolean | null

Whether the window should always be below other windows.

alwaysOnTop

boolean | null

Whether the window should always be on top of other windows.

backgroundColor

Color | null

Set the window and webview background color.

Platform-specific:
  • Windows: alpha channel is ignored for the window layer. - Windows: On Windows 7, alpha channel is ignored for the webview layer. - Windows: On Windows 8 and newer, if alpha channel is not 0, it will be ignored for the webview layer.
center

boolean | null

Whether or not the window starts centered or not.

closable

boolean | null

Whether the window’s native close button is enabled or not.

Platform-specific
  • Linux: “GTK+ will do its best to convince the window manager not to show a close button. Depending on the system, this function may not have any effect when called on a window that is already visible” - iOS / Android: Unsupported.
contentProtected

boolean | null

Prevents the window contents from being captured by other apps.

decorations

boolean | null

Whether the window should have borders and bars.

dragDropEnabled

boolean | null

Whether the drag and drop is enabled or not on the webview. By default, it is enabled.

Disabling it is required to use HTML5 drag and drop on the frontend on Windows.

focus

boolean | null

Whether the window will be initially focused or not.

fullscreen

boolean | null

Whether the window starts as fullscreen or not.

height

number | null formatted as double

The window height.

hiddenTitle

boolean | null

If true, sets the window title to be hidden on macOS.

incognito

boolean | null

Whether or not the webview should be launched in incognito mode.

Platform-specific:
  • Android: Unsupported.
label

string

Window label. Must be unique.

Default: "main"

maxHeight

number | null formatted as double

The max window height.

maximizable

boolean | null

Whether the window’s native maximize button is enabled or not. If resizable is set to false, this setting is ignored.

Platform-specific
  • macOS: Disables the “zoom” button in the window titlebar, which is also used to enter fullscreen mode. - Linux / iOS / Android: Unsupported.
maximized

boolean | null

Whether the window is maximized or not.

maxWidth

number | null formatted as double

The max window width.

Menu | null

Window menu. Only applied on Windows and Linux.

To change the macOS app menu, see the top-level menu option.

minHeight

number | null formatted as double

The min window height.

minimizable

boolean | null

Whether the window’s native minimize button is enabled or not.

Platform-specific
  • Linux / iOS / Android: Unsupported.
minWidth

number | null formatted as double

The min window width.

parent

string | null

Sets the window associated with this label to be the parent of the window to be created.

Platform-specific
persistState

WindowState | null

Persist the given state of the window when the app is reopened.

This is a bitflag string in the form of size | position | visible | etc which determine the window state we should restore.

Available flags: size, position, maximized, visible, decorations, fullscreen

proxyUrl

string | null formatted as uri

The proxy URL for the WebView for all network requests.

Must be either a http:// or a socks5:// URL.

Platform-specific
  • macOS: Requires the macos-proxy feature flag and only compiles for macOS 14+.
resizable

boolean | null

Whether the window is resizable or not. When resizable is set to false, native window’s maximize button is automatically disabled.

shadow

boolean | null

Whether or not the window has shadow.

Platform-specific
  • Windows: - false has no effect on decorated window, shadow are always ON. - true will make ndecorated window have a 1px white border, and on Windows 11, it will have a rounded corners. - Linux: Unsupported.
skipTaskbar

boolean | null

If true, hides the window icon from the taskbar on Windows and Linux.

tabbingIdentifier

string | null

Defines the window tabbing identifier for macOS.

Windows with matching tabbing identifiers will be grouped together. If the tabbing identifier is not set, automatic tabbing will be disabled.

theme

Theme | null

The initial window theme. Defaults to the system theme. Only implemented on Windows and macOS 10.14+.

title

string | null

The window title.

titleBarStyle

TitleBarStyle | null

The style of the macOS title bar.

transparent

boolean | null

Whether the window is transparent or not.

Note that on macOS this requires the macos-private-api feature flag, enabled under tauri &gt; macOSPrivateApi. WARNING: Using private APIs on macOS prevents your application from being accepted to the App Store.

url

WebviewUrl | null

URL to open. Can be a full remote URL or a subpath of the app URL.

userAgent

string | null

The user agent for the webview

visible

boolean | null

Whether the window is visible or not.

visibleOnAllWorkspaces

boolean | null

Whether the window should be visible on all workspaces or virtual desktops.

Platform-specific
  • Windows / iOS / Android: Unsupported.
width

number | null formatted as double

The window width.

x

number | null formatted as double

The horizontal position of the window’s top left corner

y

number | null formatted as double

The vertical position of the window’s top left corner

zoomHotkeysEnabled

boolean | null

Whether page zooming by hotkeys is enabled

Platform-specific:
  • Windows: Controls WebView2’s IsZoomControlEnabled setting. - MacOS / Linux: Injects a polyfill that zooms in and out with ctrl/command + -/=, 20% in each step, ranging from 20% to 1000%. Requires webview:allow-set-webview-zoom permission

  • Android / iOS: Unsupported.

WindowsBundle

"nsis"

Windows bundles.

WindowsConfig

Windows configuration.

Object Properties:

  • targets
targets

WindowsTargetConfig[]

Default: []

WindowsTargetConfig

Windows target configuration.

Object Properties:

  • bundle (required)
bundle

WindowsBundle

WindowState

string