Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 9 commits ahead, 22 commits behind dictation-toolbox:master.

Latest commit


Git stats


Failed to load latest commit information.


Caster Lint/Unit TestsGitHub top language

Caster gives you the power to control your computer by voice. Take control of your applications, games, mouse and keyboard to augment your workflow for every day activities or as an accessibility tool to develop applications entirely by voice built upon the Dragonfly framework.

  • Videos by the Caster Community:

  • Read the Frequently Asked Questions - FAQ

  • Getting started with Caster - ReadTheDocs

  • How to Speak Code - Example Document

  • Caster Command Reference Guides:

    • Caster - Universal navigation and editing - These voice commands are active all the time and provide input commands for letters, numbers, and punctuation, as well as the ability to easily manipulate windows and text.
      • window right moves the active window to the right-hand side of the screen.
      • prekris inserts a pair of brackets () and moves the cursor inside them.
      • shackle selects the current line
    • Applications - Application specific control - These commands are only activated when a particular program is the active window, and they provide support for text editors, IDEs, web browsers etc. For example, while the Sublime text editor is the active window, saying
      • find will execute a ctrl-f keystroke, bringing up the find and replace prompt,
      • open file will execute a ctrl-o keystroke,
      • edit next <n> - ctrl-d n times, selecting the next n instances of the currently selected word.
    • Program Languages - Language specific coding - These modules are activated and deactivated with the enable/disable <language> voice command. For example after saying enable python, the following commands become available for dictation:
      • for loop which will insert for i in range(0, ):
      • print to console - print()
      • open file - open('filename', 'r') as f:
  • Application or Language not supported?

    Make your own Caster rules augmented by Development Commands

  • Contributing / How can I help?

  • Do you want to financially support Caster development? Donate at IssueHunt

  • Need support or just curious? Join our community at Gitter Discord Matrix

  • The (WIP) is a curated webpage of information related to voice programming and accessibility. Content Includes: User Tips, Hardware, Videos, Blogs, Repositories, Presentations, and etc. Pull requests welcome!

Feature List

  • Configurable Settings

  • Customize Commands aka Specs via Simplified Transformers

  • Compatible Speech Recognition Engines

  • Supported Applications

    • IDEs/Editors: Microsoft Visual C++, Visual Studio, Eclipse, Jetbrains IDEs, Emacs, Sublime, Atom, Visual Studio Code, Notepad++, FlashDevelop, Sql Developer, SQL Server Management Studio
    • Development Tools: Command Prompt, GitBash, KDiff3
    • Statistics: RStudio
    • Word Processor: lyx, Microsoft Word, Typora
    • Browsers: Firefox, Chrome, Internet Explorer
    • Git Client: Github Desktop
    • Chat: Microsoft Teams, Gitter
    • Applications: Foxit Reader, fman, Total Commander, Outlook, Excel, Unity3D
  • Supported Programming Languages - Enhanced by Caster's Continuous Command Recognition - Demo

    • Python, Java, Bash, C++, C#, Rust, Go, HTML, CSS, JavaScript, SQL, Dart, Latex , Matlab, R, Prolog, VHDL, and Haxe
  • Editing and Navigation

  • Five additional mouse navigation modes: curse, sudoku, douglas, legion, and rainbow - Demo

    • Text navigation commands - Demo, Text formatting commands
    • Alphabet, numbers, punctuation input commands
    • Commands to interact with generic File Dialogues.
  • Utilize Powerful Commands

    • "Alias" Commands - on-the-fly commands created by highlighting stuff
    • "Record From History" - turn previously spoken commands into a voice macro
  • Third-party Integrations

    • Sikulix - Setup: Automates anything you see on the screen of your desktop computer. - Demo
    • Aenea - Setup: A client-server library for using voice macros from Dragon NaturallySpeaking and Dragonfly on remote/non-windows hosts.
    • Autohotkey: A scripting language that allows the automation of various tasks in Windows. Simply install the latest version. If installed, it can speed up some commands by a few seconds - e.g. checking out or updating a pull request from github.
  • Caster extends the Dragonfly API for even more powerful commands.


Dragonfly-Based Voice Programming Toolkit



Code of conduct





No packages published


  • Python 98.9%
  • Other 1.1%