Command
This set of utilities to work with Raycast commands.
Launches another command. If the command does not exist, or if it's not enabled, an error will be thrown. If the command is part of another extension, the user will be presented with a permission alert. Use this method if your command needs to open another command based on user interaction, or when an immediate background refresh should be triggered, for example when a command needs to update an associated menu-bar command.
export async function launchCommand(options: LaunchOptions): Promise<void>;
import { launchCommand, LaunchType } from "@raycast/api";
export default async function Command() {
await launchCommand({ name: "list", type: LaunchType.UserInitiated, context: { foo: "bar" } });
}
Name | Description | Type |
---|---|---|
options* | A parameter object with the properties: name : command name as defined in the extension's manifest type : LaunchType.UserInitiated or LaunchType.Background arguments : optional object for the argument properties and values as defined in the extension's manifest, for example: { "argument1": "value1" } context : arbitrary object for custom data that should be passed to the command and accessible as environment.launchContext ; the object must be JSON serializable (Dates and Buffers supported) |
A Promise that resolves when the command has been launched. (Note that this does not indicate that the launched command has finished executing.)
Update the values of properties declared in the manifest of the current command. Note that currently only
subtitle
is supported. Pass null
to clear the custom subtitle.The actual manifest file is not modified, so the update applies as long as the command remains installed.
export async function updateCommandMetadata(metadata: { subtitle?: string | null }): Promise<void>;
import { updateCommandMetadata } from "@raycast/api";
async function fetchUnreadNotificationCount() {
return 10;
}
export default async function Command() {
const count = await fetchUnreadNotificationCount();
await updateCommandMetadata({ subtitle: `Unread Notifications: ${count}` });
}
A Promise that resolves when the command's metadata have been updated.
Represents the passed context object of programmatic command launches.
A parameter object used to decide which command should be launched and what data (arguments, context) it should receive.
The options that can be used when launching a command from the same extension.
Property | Description | Type |
---|---|---|
name* | command name as defined in the extension's manifest | string |
type* | ||
arguments | optional object for the argument properties and values as defined in the extension's manifest, for example: { "argument1": "value1" } | |
context | arbitrary object for custom data that should be passed to the command and accessible as environment.launchContext ; the object must be JSON serializable (Dates and Buffers supported) | |
fallbackText | optional string to send as fallback text to the command | string or null |
The options that can be used when launching a command from a different extension.
Property | Description | Type |
---|---|---|
extensionName* | when launching command from a different extension, the extension name (as defined in the extension's manifest) is necessary | string |
ownerOrAuthorName* | when launching command from a different extension, the owner or author (as defined in the extension's manifest) is necessary | string |
Last modified 2mo ago