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 configure | Reference |
|---|---|
| Appearance, interface language, automatic copying, and default task | General |
| Endpoints, API keys, and default models | Providers |
| Task instructions, display names, individual models, and hotkeys | Tasks |
| Translation, engine, and source/target language routing | Translation |
| File location, TOML, and environment variables | Configuration file |
| Launching from a launcher or shortcut | Launch 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.
| Setting | Priority |
|---|---|
| Provider | Task or Translation Provider → General's Default provider |
| Model | Task or Translation Model → selected provider's Default model. The task cannot run if neither is set |
| Automatic copying | Task 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
Figure 1: Example General settings. The interface language and the target language for translation are separate settings.
| Field / configuration key | Values and initial setting | Description |
|---|---|---|
Appearance / appearance | system, light, or dark. Initial: system | Follow the OS appearance or choose light or dark |
Language / ui_lang | os or a supported language code. Initial: os | Language of the window, menus, and settings |
Default provider / default_provider | A name registered in Providers. Initial: ollama | Provider for tasks without an individual selection |
Automatic copying / auto_copy | true or false. Initial: true | Automatically copy completed results to the clipboard |
Keep-alive / keep_alive | Initial: 5m. Examples: 30s, 1h | Time to keep a model in memory, passed to Ollama |
Opacity / opacity | 0.5 to 1.0. Initial: 0.92 | Result window opacity. On Windows, the window is opaque |
Default task / default_task | A task ID. Initial: polish | Task selected by Open Window when there is no previous task, for example |
Open Window task / empty_window_task | last or default. Initial: last | Use the last task run or the Default task |
Open Window hotkey / open_hotkey | Initial: cmd+shift+o | Hotkey to open an empty window |
Selection capture / capture_selection | true or false. Initial: false | Send 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.
Figure 2: Example Ollama settings. An API key is not needed for local models.
| Field | Description and values |
|---|---|
Base URL / base_url | Endpoint. 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_model | Model name. The initial model for regular tasks is llama3.2. Use the exact name supported by the endpoint |
API key: Direct / api_key | Save the key directly. It is stored as plain text in the configuration file |
API key: Environment / api_key_env | Read 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.
Figure 3: An example summary task. Use Instruction to describe what the model should produce and in what format.
| Field / key | Description |
|---|---|
Name / name | Name shown in the menu and task selector. Uses the ID if omitted |
Hotkey / hotkey | Hotkey to call this task |
Provider / provider | Provider to use. If omitted in the configuration file, uses General's Default provider |
Model / model | Model for this task. If blank, uses the provider's Default model |
Automatic copying / auto_copy | Enable or disable for this task. If omitted in the configuration file, inherits General |
Instruction / instruction | Required 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:
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.
Figure 4: Example translation settings. Switch between TranslateGemma and custom, which uses your own instructions.
| Field / key | Values and meaning |
|---|---|
Enable translation / enabled | true or false. Initial: true |
Engine / engine | translategemma or custom. Initial: translategemma |
Provider / provider | Provider for translation. If omitted in the configuration file, inherits General |
Model / model | Translation model. Initial: translategemma:12b. If omitted, uses the provider's Default model |
Hotkey / hotkey | Hotkey for translation. Initial: cmd+shift+t |
Default source / default_source | Source language used as the routing reference. Initial: en |
Default target / default_target | Target when the detected source matches Default source. Initial: ja |
Fallback target / fallback_target | Target for any other source language. Initial: en |
Custom instruction / instruction | Translation 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.
| Variable | Replaced 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 |
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.
| System | Default 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.
[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 = falseAfter 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:
"/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.
.\myllm.exe --task polish "draft text"| Argument | Behavior |
|---|---|
| No arguments | Stays 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-copy | Disables automatic copying regardless of settings |
| Trailing text | Enclose in quotes if it contains spaces. If omitted, input is captured from the clipboard or another configured source |
--help, -h | Shows 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.



