Skip to content
Copied!

My LLM settings reference ​

This page explains My LLM's settings, organized by pane. For installation and everyday use, see the My LLM user guide.

Find a setting ​

What you want to configureReference
Appearance, interface language, automatic copying, and default taskGeneral
Endpoints, API keys, and default modelsProviders
Task instructions, display names, individual models, and hotkeysTasks
Translation, engine, and source/target language routingTranslation
File location, TOML, and environment variablesConfiguration file
Launching from a launcher or shortcutLaunch arguments

For a guided setup, follow the installation instructions. To save your own instructions, see Create a task.

Open and save settings ​

Choose Settings… from the menu. The settings window has four panes: General, Providers, Tasks, and Translation.

On macOS, valid changes are saved automatically. On Windows, click OK or Apply to save. After saving, close Settings so that My LLM reloads the changes. If you edit the configuration file directly, choose Reload Config from the menu.

The screenshots show example values. In the tables below, “initial” refers to the sample values used when a new configuration file is first created. If you already have a configuration file, My LLM uses its contents.

Individual settings and defaults ​

When you omit an individual value in the configuration file, My LLM chooses a value in the following order. A value explicitly saved through the settings window takes precedence over the fallback.

SettingPriority
ProviderTask or Translation Provider → General's Default provider
ModelTask or Translation Model → selected provider's Default model. The task cannot run if neither is set
Automatic copyingTask or Translation auto_copy → General auto_copy → enabled

For example, to use a different model for translation, set Provider and Model in Translation. Changing General or Providers does not replace values already specified for an individual task or translation.

General: everyday behavior ​

The General pane in My LLM Settings, with appearance, interface language, default provider, automatic copying, and hotkey controls

Figure 1: Example General settings. The interface language and the target language for translation are separate settings.

Field / configuration keyValues and initial settingDescription
Appearance / appearancesystem, light, or dark. Initial: systemFollow the OS appearance or choose light or dark
Language / ui_langos or a supported language code. Initial: osLanguage of the window, menus, and settings
Default provider / default_providerA name registered in Providers. Initial: ollamaProvider for tasks without an individual selection
Automatic copying / auto_copytrue or false. Initial: trueAutomatically copy completed results to the clipboard
Keep-alive / keep_aliveInitial: 5m. Examples: 30s, 1hTime to keep a model in memory, passed to Ollama
Opacity / opacity0.5 to 1.0. Initial: 0.92Result window opacity. On Windows, the window is opaque
Default task / default_taskA task ID. Initial: polishTask selected by Open Window when there is no previous task, for example
Open Window task / empty_window_tasklast or default. Initial: lastUse the last task run or the Default task
Open Window hotkey / open_hotkeyInitial: cmd+shift+oHotkey to open an empty window
Selection capture / capture_selectiontrue or false. Initial: falseSend a copy command to the frontmost app when calling a task

For last, the previous task means the last task run during the current app session. If Default task is invalid, My LLM falls back to an available task, such as polish or the first registered task.

Providers: endpoints and models ​

Configure Ollama, OpenAI, and Anthropic here. Use + in Providers to add an entry, using one of the names supported by the implementation: ollama, openai, or anthropic.

The Providers pane in My LLM Settings, showing an Ollama endpoint and model name

Figure 2: Example Ollama settings. An API key is not needed for local models.

FieldDescription and values
Base URL / base_urlEndpoint. If omitted, defaults to http://localhost:11434 for Ollama, https://api.openai.com/v1 for OpenAI, or https://api.anthropic.com/v1 for Anthropic
Default model / default_modelModel name. The initial model for regular tasks is llama3.2. Use the exact name supported by the endpoint
API key: Direct / api_keySave the key directly. It is stored as plain text in the configuration file
API key: Environment / api_key_envRead the key from an environment variable available at launch. The variable name must begin with MYLLM_

If a task's Model is unspecified, it uses the selected provider's Default model. A task cannot run if neither specifies a model name.

When using a cloud service, your input and task instructions are sent to the configured API. For local processing, connect to a local Ollama instance and select a local model.

Connect directly to Ollama's cloud ​

Ollama provides an OpenAI-compatible API for use without a locally running Ollama instance. In My LLM, change the openai provider's Base URL to https://ollama.com/v1, then configure an Ollama API key and a model name for the cloud API. Here, openai selects the communication format; Base URL determines the actual endpoint. Changing this endpoint also affects other tasks that use the same openai provider.

Simply changing the ollama provider's Base URL to https://ollama.com does not work. My LLM's current Ollama implementation does not send an authentication header. Both the local Ollama route and the direct connection described above are documented from the official specifications and My LLM's implementation. No live cloud connection test was performed when preparing this guide.

Tasks: save your own instructions ​

Use + in Tasks to add a task, then set its ID, display name, and instructions. For example, with the ID polish and Name set to “Polish text,” the display name appears in the menu and the ID is used when calling the task from a command.

The Tasks pane in My LLM Settings, with a name, hotkey, and instructions for a summary task

Figure 3: An example summary task. Use Instruction to describe what the model should produce and in what format.

Field / keyDescription
Name / nameName shown in the menu and task selector. Uses the ID if omitted
Hotkey / hotkeyHotkey to call this task
Provider / providerProvider to use. If omitted in the configuration file, uses General's Default provider
Model / modelModel for this task. If blank, uses the provider's Default model
Automatic copying / auto_copyEnable or disable for this task. If omitted in the configuration file, inherits General
Instruction / instructionRequired task instructions. The task cannot run if this is blank

For regular tasks, My LLM sends Instruction followed by a blank line and the text from Input. Individual tasks do not carry over a conversation history.

Instructions are easier to maintain when they state the purpose and output format clearly and briefly. For example:

text
Summarize the provided text into concise bullet points.
Preserve the important details.
Output only the summary, without a preamble.
Use the same language as the input.

You can also write Instruction in Japanese. Adjust the details to preserve, the tone, and whether to include explanations to suit your model and purpose.

Translation: language routing ​

Configure translation in Translation rather than adding it to Tasks. When Enable translation is on, Translate appears in the task list.

The Translation pane in My LLM Settings, with engine, provider, and language routing controls

Figure 4: Example translation settings. Switch between TranslateGemma and custom, which uses your own instructions.

Field / keyValues and meaning
Enable translation / enabledtrue or false. Initial: true
Engine / enginetranslategemma or custom. Initial: translategemma
Provider / providerProvider for translation. If omitted in the configuration file, inherits General
Model / modelTranslation model. Initial: translategemma:12b. If omitted, uses the provider's Default model
Hotkey / hotkeyHotkey for translation. Initial: cmd+shift+t
Default source / default_sourceSource language used as the routing reference. Initial: en
Default target / default_targetTarget when the detected source matches Default source. Initial: ja
Fallback target / fallback_targetTarget for any other source language. Initial: en
Custom instruction / instructionTranslation instructions used when Engine is custom

The source language is detected by the language detector built into the Rust app. default_source does not fix the source language for ordinary translation. For example, the initial settings route English to Japanese, and Japanese or other non-English text to English. Detection may be inaccurate for short phrases. If needed, use launch arguments to specify the source and target languages.

There are 16 language codes: ar (Arabic), nl (Dutch), en (English), fr (French), de (German), hi (Hindi), it (Italian), ja (Japanese), ko (Korean), zh (Chinese), pt (Portuguese), ru (Russian), es (Spanish), sv (Swedish), tr (Turkish), and vi (Vietnamese). Also check that your model supports the languages you want to use.

Use TranslateGemma ​

Set Engine to translategemma to use My LLM's built-in translation instructions. Text in Custom instruction is not used, but your saved instructions are retained.

Write instructions for another model ​

Set Engine to custom, choose Provider and Model, and write Custom instruction. The following variables are available.

VariableReplaced with
{SOURCE_LANG}English name of the source language
{SOURCE_CODE}Source language code
{TARGET_LANG}English name of the target language
{TARGET_CODE}Target language code
{TEXT}Text from Input
text
Translate from {SOURCE_LANG} to {TARGET_LANG}.
Return only the translation.

{TEXT}

Include {TEXT} so that the input text is included in the instructions. With custom, translation cannot run if the instructions are empty.

You can set translation's auto_copy separately in TOML. The Translation pane has no dedicated checkbox for it. When unspecified, it inherits automatic copying from General.

Edit the configuration file directly ​

Settings are stored in a single config.toml. On first launch, My LLM creates a sample file if none exists.

SystemDefault location
macOS~/.config/myllm/config.toml
Windows%APPDATA%\myllm\config.toml

Launch environment variables can change the location. The order is the file specified by CONFIG_FILE, then XDG_CONFIG_HOME/myllm/config.toml, then the default location.

Here is a minimal configuration for regular tasks only. It assumes Ollama is running and llama3.2 has been downloaded.

toml
[general]
default_provider = "ollama"
auto_copy = true

[providers.ollama]
base_url = "http://localhost:11434"
default_model = "llama3.2"

[tasks.polish]
name = "Polish"
instruction = '''
Improve the clarity and correctness of the provided text.
Preserve its meaning and tone.
Output only the revised text.
'''

[translation]
enabled = false

After editing keys or values, choose Reload Config. To read an API key from an environment variable, that variable must be available in My LLM's launch environment. A variable set only in your terminal may not reach an app launched from Finder.

Launch the GUI from a command ​

You can pass a task to the GUI from a launcher or shortcut. On macOS, with the app installed in Applications, use a command such as:

sh
"/Applications/My LLM.app/Contents/MacOS/myllm" --task polish "draft text"

On Windows, run the following in PowerShell from the folder where you extracted the ZIP.

powershell
.\myllm.exe --task polish "draft text"
ArgumentBehavior
No argumentsStays in the menu bar or system tray
--task <ID>Runs the specified task in the GUI. Use translate for translation
--from <language-code>Overrides source language detection
--to <language-code>Overrides target language routing
--no-copyDisables automatic copying regardless of settings
Trailing textEnclose in quotes if it contains spaces. If omitted, input is captured from the clipboard or another configured source
--help, -hShows help for launch arguments

When launched for a single task with --task, closing the window also exits that process. On Windows, a new process exits if an instance is already running, so call tasks from the menu or hotkeys while My LLM is resident.

This entry point opens the GUI. It does not support reading standard input and returning results to standard output in a pipeline.