Nodes/ComfyUI-ShellAgent-Plugin/Output Text (ShellAgent Plugin)
ComfyUI Node

Output Text (ShellAgent Plugin)

The node that hands your ComfyUI text back to the app

By myshell-ai·Created 2 years ago·Updated 4 months ago· 45
Output Text (ShellAgent Plugin)
      text
      output_nameoutput_text

      The name undersells it. Output Text (ShellAgent Plugin) doesn't print anything to your screen and it doesn't save a file - it's the terminal node that hands a string back to whatever app is driving your workflow. If you're building a ShellAgent app that calls ComfyUI as a tool, this is how the agent sees the answer your pipeline produced. Used standalone, it's still useful: it marks "this is the value that leaves the graph" in a way anyone reading your workflow can spot.

      How it works

      Mechanically it's boring on purpose. The node takes any string in through text, labels it with output_name (default output_text), and pushes it out over ComfyUI's UI result channel as {"ui": {"output": [...]}}. That's the payload the parent app reads when the queue finishes. There's also a validate() method that advertises the output's schema - {title: output_name, type: string} - so ShellAgent knows what kind of field to render and what key to expect.

      The thing that trips people up: it has no output sockets at all. It's an output node, a terminal. Nothing wires out of it, and nothing shows up in ComfyUI's preview pane. If you're expecting to see your text somewhere on screen, you won't - that's the node working as designed. The result only materializes in the app that launched the workflow.

      The inputs that matter

      Only two, and you'll touch both:

      • text - whatever you want to return. Wire in the output of a prompt builder, a caption model, an LLM node, a formatting node. This is the actual payload.
      • output_name - the key ShellAgent uses for this value. Keep it unique across your workflow; the default output_text is fine for a single output, but if you're returning several values, give each one a distinct name.

      One subtlety: the input is strictly a STRING. If the thing you want to return is a number, you need to convert it - a format/text node or the pack's own Float/Integer output nodes are the intended path. Forcing a numeric wire into this node won't fly.

      Installing it

      It ships in the MyShell AI pack, so it's one install for all 18-ish nodes:

      cd ComfyUI/custom_nodes
      git clone https://github.com/myshell-ai/ComfyUI-ShellAgent-Plugin
      

      then restart ComfyUI. Or just search ComfyUI-ShellAgent-Plugin in ComfyUI Manager and hit install. The pack's requirements.txt pulls in a handful of heavy-ish deps (opencv-python, pillow_heif, imageio-ffmpeg, pydantic, brotli, aiofiles, easydict), so the first launch after installing can take a minute. There are no model files to download - this pack is pure plumbing.

      Common issues

      • The value doesn't show up in your app. First check output_name isn't colliding with another output node. Then check the workflow actually ran to completion - an error upstream means the output node never fires.
      • "I don't see any output." Expected. Nothing renders in ComfyUI itself; the result goes to the parent app. Test with the built-in preview nodes if you need visual confirmation mid-pipeline.
      • Wrong type. If the connection refuses, you're feeding it a FLOAT or INT. Convert to string first.

      It's the most-searched node in this pack for a reason: once you understand that the "output" is a return value for an external caller rather than something you can see, the whole pack starts to make sense.

      Categoryshellagent

      Inputs (2)

      NameTypeDefaultDescription
      textSTRINGThe text to output.
      output_nameSTRINGoutput_text

      Outputs (0)

      No outputs