Added Oct 14, 2026
Code Modernization
A Claude Code plugin from Anthropic that maps a legacy codebase, drafts a plan you approve, modernizes the code and checks whether the new code behaves like the old.
- Ecosystem
- Agent Skills
- Skill category
- Coding
- Creator / organization
- Anthropic
What it is
Code Modernization is a Claude Code plugin that Anthropic publishes in its official plugin repo, claude-plugins-official, and the plugin manifest credits Anthropic. In the README's words, you point Claude at a legacy codebase and get four things: an understanding of what it is and what it does, a plan you approve, the modernized code, and proof that the new code behaves like the old. It works with any language and any kind of move: a newer version of the same technology, a rewrite in another one, or a rebuild on a new architecture. The plugin has 13 commands and 8 specialist agents. You start with /code-modernization:modernize, which asks what you want to do with your code, then works through an environment check, an assessment, a map of dependencies and data flow, the business rules written as Given/When/Then cards with file and line citations, and a phased plan; the README says nothing is built until you approve that plan. There are three ways to build: uplift (same technology, newer version, such as Java 8 to 17), transform (rewrite in a new technology one module at a time) and reimagine (rebuild on a new architecture). Every step writes to an analysis/ folder and refreshes a one-page REPORT.html you can open or share. What sets it apart is the verification step: modernize-verify reruns the tests from clean, runs old and new code on the same inputs and has a script compare every byte, invents at least ten inputs nobody used, and makes a deliberate one-line break to confirm the tests can fail; a script then gives each module a verdict of PROVEN, PARTLY PROVEN or NOT PROVEN. The README also lists runs on public codebases such as AWS CardDemo (COBOL), Eclipse Jetty and osCommerce during development, and notes that the same command can give different numbers on a second run.
Who it's for:development teams and tech leads who maintain an older system and plan to move it to a newer version, another language or a new architecture. The README says the early steps need an engineer who knows how the system is built and run, and people have to confirm the rules, approve the plan and sign off at the end. Readers who don't write code won't get use out of it.
Before you start: you need Claude Code; the install command is /plugin install code-modernization@claude-plugins-official. The plugin needs no account or API key of its own, and usage is billed through your Claude plan or API, so check the official site for details; your source code is read and processed by Claude. The README warns that some steps start many agents at once and use a lot on a large system: the heaviest step, extract-rules, started 50 to 200 agents in its test runs, so the README suggests starting with one module as a pilot. The README says the commands, by convention, write only to analysis/ and modernized/ and never edit your legacy source, and suggests a deny rule for the source in the workspace's .claude/settings.json; that rule doesn't cover a script that opens files itself, so for the two steps in uplift and reimagine that send out many writing agents at once, the README asks you to keep Bash on a prompted permission mode. The environment check and verification compile, build and run the legacy project's own tests and scripts, so we suggest using it only on code you trust or on an isolated copy. The README says the old system runs only locally or against a test environment you named; production, third-party services and real data are off limits unless the plan you approved names them. Credentials it finds are masked in the reports and kept in a gitignored SECRETS.local.md; --show-secrets writes the raw values into that file, which we don't recommend, and don't share that file or any patch that contains credentials. modernize-harden is a security scan of your own legacy code with a patch you review and apply yourself; AI Inspiration World has not reviewed or recommended this entry point. PROVEN is a label a script computes from the evidence at the time and does not guarantee that the whole system matches; when the old system can't run where you work (a mainframe program, for example), the README says the best verdict is PARTLY PROVEN. Usage counts are on by default: the README says the plugin sends whole numbers only, through Claude Code's own telemetry, never code, file names, paths or prompts, and sends nothing when Claude Code telemetry is off; you can also set CODE_MODERNIZATION_TELEMETRY=0 or turn off the plugin's Usage counts option. Once per plugin version on each machine, a count of the environment it runs on is sent at session start even if you never use the plugin. Optional tools are scc or cloc, Python 3.8 or later, and the build toolchain for your stack. Licensed Apache-2.0 (the LICENSE in the plugin folder).
Based on the project's public documentation. Not tested by AI Inspiration World.