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
  • Join the community
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

CodeScript Toolkit

mnaoumovmnaoumov13k downloads

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

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

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

This is a plugin for Obsidian that allows to do a lot of things with JavaScript/TypeScript scripts from inside the Obsidian itself.

Who is this plugin for?

This plugin is for you if you want to:

  • Write in any flavor of JavaScript/TypeScript in:
    • DevTools Console within Obsidian;
    • CustomJS scripts;
    • datacorejs / datacorejsx / datacorets / datacoretsx scripts;
    • dataviewjs scripts;
    • JS Engine scripts;
    • Modules scripts;
    • QuickAdd scripts;
    • Templater scripts;
    • etc.
  • Write modular scripts using modern JavaScript/TypeScript syntax and patterns.
  • Prototype Obsidian plugins.
  • Explore Obsidian API (public and internal) in runtime easier.
  • Invoke any JavaScript/TypeScript script via command or hotkey.

Why this plugin?

There are several very good plugins that allow to write JavaScript/TypeScript scripts for Obsidian, but they all have their own limitations and quirks.

Most of those plugins support writing scripts in CommonJS (cjs) only, which is not so used nowadays.

None of those plugins provide you the developer experience as you would have in any other modern JavaScript/TypeScript development environment.

This plugin aims to erase the line between the Obsidian world and the JavaScript/TypeScript development world.

Usage

See docs.

You can download demo vault to see usage examples.

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:

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;

Support

My other Obsidian resources

See my other Obsidian resources.

License

© Michael Naumov

81%
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.
DevelopersCodeAutomation
Details
Current version
13.0.2
Last updated
2 days ago
Created
2 years ago
Updates
157 releases
Downloads
13k
Compatible with
Obsidian 1.12.7+
License
MIT
Report bugRequest featureReport plugin
Sponsor
Buy Me a Coffee
Author
mnaoumovmnaoumov
mnaoumov.dev/
GitHubmnaoumov
Xmnaoumov
  1. Community
  2. Plugins
  3. Developers
  4. CodeScript Toolkit

Related plugins

Templater

Create and use dynamic templates.

BRAT

Easily install a beta version of a plugin for testing.

CustomJS

Reuse custom JavaScript across desktop and mobile.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

Readwise Official

Sync highlights from Readwise to your vault.

PlantUML

Generate PlantUML diagrams.

Task Collector (TC)

Change task status and collect tasks within a document using hotkeys and context menus.

Advanced URI

Control everything with URI.

Waypoint

Easily generate dynamic MOCs in your folder notes using waypoints. Enables folders to show up in the graph view and removes the need for messy tags!

Auto Link Title

Automatically fetches the titles of links from the web.