Nodes/ShakaNodes/🤙 Shaka Tensor Debugger
ComfyUI Node

🤙 Shaka Tensor Debugger

The node that finally shows you what's inside your tensors

By bomborant·Created 9 months ago·Updated 9 months ago· 0
🤙 Shaka Tensor Debugger
  • tensor

    Somewhere between "workflow won't run" and "output looks wrong" there's a moment where you just want to know what a wire is actually carrying. Is that a latent or a conditioning? Four channels or sixteen? ShakaTensorDebug is the "show your work" node for that exact moment. Plug it into anything, run the graph, and it dumps what it found to your ComfyUI console.

    It's from ShakaNodes, a small personal pack by Bomborant that started as "nodes I built to understand what goes on behind the scenes." This is the debug node made by someone debugging, and it shows.

    How it works

    The clever part is the input type. tensor is typed AnyType("*"), the same trick pythongosssss's custom scripts use: the node claims it accepts literally anything, so ComfyUI never complains about what you plug in. It's an output node - it returns nothing and lives at the end of a branch, like a PreviewImage you can't see.

    When the graph runs it inspects what arrived and prints one of three things:

    • A LATENT - a dict with a samples key - gets its shape printed with the axes labeled as (Batch, Channel, Time, Height, Width). Wan latents are 5D, so this is built for video debugging, though a 4D SD latent prints fine too.
    • A CONDITIONING - the list-of-tuples that prompts become - prints the batch size, the main tensor's shape, and if there's a concat_mask attached it prints that shape plus a sample of the first twelve values. The comment in the source says it best: 0.0 means unmasked, 1.0 means masked, and seeing which is which tells you whether your mask actually reached the sampler.
    • Anything else - a VAE, an image tensor, a random list - gets its Python type printed, with a best-effort value dump.

    That concat_mask branch is genuinely handy for Wan workflows, where the image conditioning rides on a mask and a mask that silently became all-ones (or all-zeros) is a classic "why is my reference image being ignored" failure.

    The one input that matters

    Just one: tensor, and it accepts anything. That's the whole interface.

    Where the output actually shows up

    This is the part that trips people up: the debug text goes to the terminal where you launched ComfyUI, not the node graph. Run ComfyUI from a console window (or check your service logs) and that's where you'll see the 🌊 --- SHAKA DEBUG: --- block. It's cosmetic - the node is early-days WIP by the author's own admission - but it's the difference between "nothing happened" and "it worked, wrong window."

    Install

    Same story as the whole pack, and it's one of the lighter installs around - no models to download, no pip requirements beyond torch (the project.toml declares a single dependency):

    • ComfyUI Manager (the easy way): search for ComfyUI-ShakaNodes in the custom nodes list and install it, then restart.
    • Manual:
      cd ComfyUI/custom_nodes
      git clone https://github.com/bomborant/ComfyUI-ShakaNodes
      Restart ComfyUI. Both nodes land under the ShakaNodes category.

    Verdict

    For one-off diagnosis it's the fastest shape-inspector I've used - no reconnecting, no reading Python tracebacks, just wire it in and look at your console. Don't build it into workflows you share, because anyone loading your JSON won't see the output and the prints are noise for them. And if you need a permanent, visual diagnostic you'll outgrow it fast - but that's fine. This is a tool for the ten minutes when you're stuck, and it does that job well.

    CategoryShakaNodes/Utils

    Inputs (1)

    NameTypeDefaultDescription
    tensor*

    Outputs (0)

    No outputs