OpenCode and Russian: dictation on iPhone sometimes comes out as Latin, and Ctrl+F does not fire on a Russian layout
As of 2026-10-20, two user reports are open on GitHub. The first: the iOS app of OpenCode has no setting for the speech-recognition language, so dictating Russian returns misrecognized text and in one case a whole phrase came out as Latin letters. The second: in the desktop app, letter shortcuts such as Ctrl+F do nothing on a Russian keyboard layout. The project's bot account (opencode-agent) in the official repository confirmed the shortcut case only: it tested the app's own keybind matcher and saw that Ctrl+F does not match on a Russian layout. The dictation request was recorded as a feature request. Both issues are still open on 2026-10-20 and no fixed version has been named; for Ctrl+F there is an open pull request #55765 that has not been merged.
Updated 2026-10-20
One key for Claude, GPT and leading Chinese models, billed per token, up and running in minutes.
- Billed per token — live rates on /models
- Pay by card (Visa / Mastercard / AMEX), Apple Pay, Google Pay or crypto
- Self-service: top up and activate instantly
Versions, status, the matching rule and what the bot account wrote
The version in the iOS report
The report names opencode version 2.0.32 and iOS app version 0.2.0, with the server side running the desktop app through opencode-cli serve, an App Store build paired to a self-hosted server.
The version and system in the desktop report
The report names version 2.0.29 of the desktop app on Windows 11 and lists the steps: switch the keyboard layout to Russian, press Ctrl+F on the physical F key and nothing happens, switch back to English and the same keys open the find bar.
Status of the two issues on 2026-10-20
The dictation issue (#56973) was submitted on 2026-10-19, the hotkey issue (#55676) on 2026-10-15 with a reproduced label; on 2026-10-20 both are still open in the official repository.
The shortcut the bot account confirmed
The project's bot account (opencode-agent) in the official repository replied that it can confirm this: it tested the app's own keybind matcher, and on a Russian layout Ctrl+F does not match, while Alt+F matches the alt+f binding because that path falls back to the physical key. The same reply says the result is the same on 2.0.29 and on the dev branch of that time (commit 4397ee44).
What the two reports actually describe
The first is dictation: the iOS app has no selector for the recognition language, and the server side sets no transcription language either. The report records two failure modes in the same session: wrong words but still Cyrillic in one case, and a whole phrase coming out as a Latin transliteration in another; the report says it repeats on every attempt, but only the composer's microphone button was tested and Voice call mode was not. The reporter also writes that with no language hint recognition appears to fall back to an English model, which is the reporter's inference and is not confirmed in the repository. The second is hotkeys, and the reporter explains it this way: the OpenCode desktop app matches a keybind against the character produced by the active layout (event.key) and only falls back to the physical key (event.code) when Alt is held, so letter and punctuation shortcuts silently do nothing on a Russian layout, while digit shortcuts are not affected.
Status of the two issues (checked 2026-10-20)
Checked against the official repository on 2026-10-20: the dictation issue was submitted on 2026-10-19 and has a single comment from the project's bot account (opencode-agent); the hotkey issue was submitted on 2026-10-15 with a reproduced label and has two comments, one from the bot account confirming the behaviour and one from a GitHub user saying they would like to take it on, and that user later opened the fix pull request #55765. Neither issue is closed.
Three points in time
The hotkey issue is submitted to the official repository: in the OpenCode desktop app, pressing Ctrl+F on a Russian layout does nothing and the same physical keys open the find bar on an English layout.
The dictation issue is submitted: the report category is iOS dictation.
2026-10-20: both issues are still open; for Ctrl+F there is an open pull request #55765 that has not been merged.
What is confirmed and what is still unanswered
Confirmed (word for word verifiable)
① There are two user reports in the official repository: one under iOS dictation, one under hotkey matching; ② the dictation report names opencode version 2.0.32 and iOS app version 0.2.0; ③ the hotkey report names version 2.0.29 on Windows 11 and carries a reproduced label; ④ the project's bot account (opencode-agent) in the official repository wrote in the dictation issue that no language is set today, that it is treating the request as a feature request and that maintainers will consider it; ⑤ the same bot account confirmed in the hotkey issue that Ctrl+F does not match on a Russian layout, with the same result on 2.0.29 and on the dev branch of that time; ⑥ the GitHub user who said they would like to take it on later opened the fix pull request #55765, whose body starts with Closes #55676, and on 2026-10-20 that pull request is still open and not merged.
What the official side has not written down
The official repository has announced neither a fixed version nor a date for the two behaviours. The bot reply on the dictation issue carries no timetable; the reply on the hotkey issue confirms the behaviour but does not say which part of the matching logic will change. Both issues are still open on 2026-10-20. The reports leave gaps too: the dictation report does not name the iOS version and found no workable workaround, and the hotkey report covers the desktop app only, the terminal interface (TUI) is not part of it.
Which of the two you are hitting
Dictation sometimes comes out as Latin
What happens: speaking Russian in the iOS client returns misrecognized text, and in one case a whole phrase came out as Latin letters. The report tested only the microphone button in the input field; Voice call mode was not tested.
Hotkeys dead on a Russian layout
What happens: letter shortcuts such as Ctrl+F do nothing in the desktop app on a Russian keyboard layout, and the command palette cannot reach the find command either.
What you can do first
① Triage first: if the dictation comes out as Latin letters, that is the dictation issue; if keys do nothing, that is the hotkey issue, and they are two separate issues in the official repository. ② Write down your own environment and compare it with the two above. ③ On the dictation side there is no workaround given by the maintainers: the report says none was found, and the bot account recorded the request for a recognition-language setting as a feature request that maintainers will consider, with no date as of 2026-10-20. ④ On the hotkey side, as the report describes it: after switching back to the English layout the same physical key opens the find bar, so Ctrl+F works on an English layout; that is a description from the report, not an official solution. Alt+F on a Russian layout matches the alt+f binding, which is a different shortcut: the find bar is bound to Ctrl+F (mod+f). ⑤ Digit shortcuts are not affected: the report says the digit row matches across these layouts, so mod+1 to mod+9 keep working as usual. ⑥ Follow the status of both issues: on 2026-10-20 both are still open.
Running OpenCode with a QCode key
To use OpenCode with QCode, configure it the way the QCode documentation for OpenCode writes it: edit ~/.config/opencode/opencode.json and set options.baseURL for each provider in the provider section. Claude models go through the Anthropic Messages API with https://api.qcode.cc/api as the base URL; GPT models and models from Chinese developers go through the OpenAI-compatible API with https://api.qcode.cc/openai/v1, and the models from Chinese developers need a separate @ai-sdk/openai-compatible provider. The key is the one starting with cr_, entered in OpenCode with the /connect command. The documentation states that using OpenCode requires the permission for direct API requests, that this permission is off by default, and that you contact support if you need it switched on. On the QCode side billing is per token, and the per-model rates are listed on /models.
Frequently asked questions
Why does Russian dictation sometimes come out as Latin letters?
The exact cause is not confirmed in the repository. The reporter writes that the iOS app offers no way to pick a recognition language and that no transcription language travels with the session settings, and that with no language hint recognition appears to fall back to an English model, which is the reporter's inference. The bot account replied that no language is set today and that this fits the description. Of the two failures in the report, one is Latin and the other is Russian words with errors; only the microphone button in the input field was tested, Voice call mode was not.
How does the bot account in the repository answer the recognition-language setting?
The project's bot account (opencode-agent) in the official repository wrote in the issue that no language is set today, that it is treating this as a feature request, and that maintainers will consider it. As of 2026-10-20 no date has been given, and the issue is still open.
Why does Ctrl+F not work on a Russian layout?
The reporter's explanation (the bot's test got the same result): a keybind is matched against the character produced by the active layout (event.key), and on a Russian layout that character is a Cyrillic letter, so letter and punctuation shortcuts silently do nothing; digit shortcuts are not affected.
Which versions have been seen?
The two reports name different versions: the dictation report runs OpenCode 2.0.32 with iOS app version 0.2.0, the hotkey report runs the desktop app 2.0.29 on Windows 11. The bot account also wrote that the behaviour gives the same result on the dev branch of that time.
Will it be fixed?
As of 2026-10-20, the Ctrl+F case has an open fix pull request #55765, written by the same user who said they would like to take it on, whose body starts with Closes #55676; that pull request is not merged and no fixed version has been announced.
How do I run OpenCode with a QCode key?
Set options.baseURL for each provider in the provider section of ~/.config/opencode/opencode.json, as described above and in the QCode documentation for OpenCode; the key is the one starting with cr_, entered in OpenCode with the /connect command.
Sources
User reports: the two issues in the anomalyco/opencode repository on GitHub and their comments (fetched and checked 2026-10-20; the hotkey issue was submitted 2026-10-15, the dictation issue 2026-10-19). Replies from the bot: the replies of the project's bot account (opencode-agent) under the two issues in that repository (fetched and checked 2026-10-20). The pull request “fix(app): match shortcuts on non-Latin keyboard layouts” (#55765, by the user ZXLyyds100), submitted 2026-10-15, still open and unmerged on 2026-10-20. A related but separate issue: #55371 about the terminal interface (TUI), closed as not_planned on 2026-10-17 by the project's bot account because the reporter did not say which terminal they use. On the QCode side: the pages OpenCode integration and Endpoints and API paths on docs.qcode.cc (fetched and checked 2026-10-20), and the Pay-as-you-go Packs page on qcode.cc (fetched and checked 2026-10-20).
Run OpenCode with a QCode key
Not ready for a monthly plan? Pay-as-you-go Packs start at $4 for a one-time quota you use within 7 to 90 days.
Related reading
Claude Code Pay-as-you-go Packs: No Subscription, 7–90 Days
One-time quota packs valid for 7–90 days, no subscription; extra packs add to the same key
OpenCode Guide 2026: Open-Source Terminal AI Coding Tool
Complete guide to OpenCode open-source AI coding assistant
AI Coding Tools for Russian Developers: Claude Code, Codex, OpenClaw
An overview of AI coding tools for Russian developers: access and use of Claude Code, OpenAI Codex and OpenClaw.
Crypto payment guide
Nine coins, 56 networks, zero platform fee for AI coding API credits.
The information on this page was checked on 2026-10-20: phenomena, versions and status follow the two issues in anomalyco/opencode on GitHub, the wording attributed to the bot account is taken from the replies of the project's bot account (opencode-agent) in that repository, and the QCode configuration follows docs.qcode.cc; behaviour changes with the version, so please refer to the official pages. Model availability is on /models.