Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

CodeScript Toolkit

Michael NaumovMichael Naumov20k downloads

Allows to do a lot of things with JavaScript/TypeScript scripts from inside the Obsidian itself

Add to Obsidian
CodeScript Toolkit screenshot
CodeScript Toolkit screenshot
CodeScript Toolkit screenshot
CodeScript Toolkit screenshot
CodeScript Toolkit screenshot
CodeScript Toolkit screenshot
CodeScript Toolkit screenshot
CodeScript Toolkit screenshot
CodeScript Toolkit screenshot
CodeScript Toolkit screenshot
  • Overview
  • Scorecard
  • Updates196

formerly known as Fix Require Modules, see Rebranding section for more details

An Obsidian plugin that lets you write and run modern JavaScript and TypeScript inside Obsidian — in a note, as a command, on a hotkey, at startup — with a rich module system, bringing you the best practices from the modern development ecosystem.

Runnable JavaScript and TypeScript, right in the note

More screenshots
Click it and the result appears underneath Written as a fenced block, versioned with the note Every script in your folder becomes a command, hotkey and all A note can import a TypeScript module living in your vault Runnable JavaScript and TypeScript, on your phone Tap it and the result appears underneath Written as a fenced block, versioned with the note Every script in your folder becomes a command A note can import a TypeScript module living in your vault

Demo vault

The documentation is an interactive demo vault. Every feature has a note that explains what it does and why you would want it, followed by a button that runs it for real — so you can read the explanation and execute the example in the same place.

Start reading here — it is plain markdown, so it works on GitHub with nothing installed.

A copy of the vault ships with every release. You can access it via any of the following:

  1. Running the CodeScript Toolkit: Open demo vault command.
  2. Downloading fix-require-modules-demo-vault.zip from the Releases. It unzips into a single fix-require-modules-demo-vault-<version> folder.
  3. Browsing its source in demo-vault/ in this repository.

If you are not sure where to start, three notes cover most of it: Core functions (which of require() / requireAsync() / requireAsyncWrapper() to use), Code buttons (runnable snippets inside a note), and Invocable scripts (turning a script into an Obsidian command).

What it does

  • Loads CJS/ES modules, TypeScript, JSON, npm packages, Node built-ins, WebAssembly, ASAR archives and URLs with require() — or await requireAsync(), which also works on mobile.
  • Runs your scripts from a note, an Obsidian command, a hotkey, a startup script, or an obsidian:// URL.
  • Lets you prototype a plugin, and explore the Obsidian API — public and internal — at runtime.
  • Enriches scripting capabilities of DevTools console.
  • Enriches the scripting plugins you already use:
    • CustomJS
    • Datacore
    • Dataview
    • JS Engine
    • Modules
    • QuickAdd
    • Templater
    • My favorite scripting plugin not listed above — most likely, this plugin can enrich it too.

Installation

The plugin is available in the official Community Plugins repository.

Beta versions

To install the latest beta release of this plugin (regardless if it is available in the official Community Plugins repository or not), follow these steps:

  1. Ensure you have the BRAT plugin installed and enabled.
  2. Click Install via BRAT.
  3. An Obsidian pop-up window should appear. In the window, click the Add plugin button once and wait a few seconds for the plugin to install.

Debugging

By default, debug messages for this plugin are hidden.

To show them, run the following command in the DevTools Console:

window.DEBUG.enable('fix-require-modules');

For more details, refer to the documentation.

Rebranding

This plugin was formerly known as Fix Require Modules.

The plugin quickly overgrew its original purpose and got way more features than just fixing require() calls. That's why it got a new name.

However, for the backward compatibility, the previous id fix-require-modules is still used internally and you might find it

  • in plugin folder name;
  • in plugin URL;
  • in Debugging section;

Changelog

All notable changes to this project will be documented in the CHANGELOG.

Contributing

Contributions are welcome — see CONTRIBUTING to get set up.

Support

My other Obsidian resources

See my other Obsidian resources.

License

© Michael Naumov

HealthExcellent
ReviewCaution
About
Write and run JavaScript or TypeScript scripts across Obsidian (DevTools, CustomJS, dataviewjs, QuickAdd, Templater, JS Engine and module scripts) using modern ESM and modular patterns. Prototype Obsidian plugins, explore the Obsidian API at runtime, and invoke scripts via commands or hotkeys.
CodeDevelopersCommands
Details
Current version
13.7.1
Last updated
4 weeks ago
Created
3 years ago
Updates
196 releases
Downloads
20k
Compatible with
Obsidian 1.13.7+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Sponsor
Buy Me a Coffee
Author
Michael NaumovMichael Naumovmnaoumov
mnaoumov.dev
GitHubmnaoumov
Xmnaoumov
  1. Community
  2. Plugins
  3. Code
  4. CodeScript Toolkit

Related plugins

Lean Terminal

Embedded terminal panel powered by xterm.js and node-pty - no external windows.

CustomJS

Reuse custom JavaScript across desktop and mobile.

Notice logger

Logs all notices to the developer console, with optional prefix.

BRAT

Easily install a beta version of a plugin for testing.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Quick Switcher++

Enhanced Quick Switcher, search open panels, and symbols.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Copilot

Run AI agents such as Claude Code, Codex, and OpenCode inside your vault. Turn your second brain into a smart assistant that gets knowledge work done.

Note Toolbar

Add customizable toolbars to your notes.

Find orphaned files and broken links

Find files that are not linked anywhere and would otherwise be lost in your vault. In other words: files with no backlinks.