A command line tool to help you write, understand, and debug puppet code.

What is Puppet Debugger?

A interactive command line tool for evaluating and debugging the puppet language.

Designed for Puppet Module Development

Test complex snippets of code in real time without committing to a manifest or runnning the slow puppet apply. Run your code to ensure you fully understand what is going on.

Time saver

The interactive debugger REPL runs in real time which means you get results instantly without having to wait on tests or puppet apply.

Easy to customize

The pluggable backend makes it a snap to create a new debugger command.

Fully Featured REPL

The only REPL for the Puppet Language.

Command Line Centered

Driven completely from a command line in your terminal application ensures you never lift your hands off the keyboard.

Break into your puppet code with a breakpoint

Stop your code in middle of compiling and inspect variables, run functions, and even execute code.



Standard Ruby Gem Installation

You Must have a Ruby version that is supported by Puppet

    gem install puppet-debugger

Puppet-Agent Ruby Gem Installation

You can install on a system with the puppet-agent ruby

    /opt/puppetlabs/puppet/bin/gem install puppet-debugger


The puppet-debugger can be started in various ways. The easiest is from the command line

    bash$ puppet debugger

    Ruby Version: 2.4.1
    Puppet Version: 5.3.2
    Puppet Debugger Version: 0.8.1
    Created by: NWOps 
    Type "commands" for a list of debugger commands
    or "help" to show the help screen.



Full Documentation

See full documention


The Puppet Debugger is made by Corey Osman at NWOPS, LLC 100% FREE under the The MIT License


I hope you find the Puppet Debugger useful.
Feel free to get in touch if you have any questions or suggestions.

Want to see more tools like puppet-debugger?

Tweet about #puppet-debugger and #puppet-retrospec @nw_ops

Hire us to create specialized devops tools for your environment or extend the capabilities of puppet-debugger or other tools we have created

DevOps Tooling and Custom Software

Get Connected