{"id":3091,"date":"2016-02-07T20:09:02","date_gmt":"2016-02-07T20:09:02","guid":{"rendered":"http:\/\/www.garysieling.com\/blog\/?p=3091"},"modified":"2016-02-07T20:09:02","modified_gmt":"2016-02-07T20:09:02","slug":"fixing-error-output-is-not-a-tty-in-node","status":"publish","type":"post","link":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/","title":{"rendered":"Fixing error: &#8220;output is not a tty&#8221; in Node"},"content":{"rendered":"<p>If you write a Node script the prints output to the screen, and try to pipe the output to a file, you can get an error:<\/p>\n<pre lang=\"bash\">\n$ node extract.js > ideas.csv\noutput is not a tty\n<\/pre>\n<p>In my case, I was trying to write out a CSV file:<\/p>\n<pre lang=\"javascript\">\nfor (var k = 0; k < all.length; k++) {\n  console.log(all[k]); \n}\n<\/pre>\n<p>The solution to this is to open the file directly and write to it:<\/p>\n<pre lang=\"javascript\">\nvar fs = require('fs');\nvar results = '';\n\nfor (var k = 0; k < all.length; k++) {\n  results += all[k] + \"\\n\";\n}\n\nfs.writeFile(\"ideas.csv\", results);\n<\/pre>\n<p>The reason this doesn't work as expected appears to be that 'git bash' is passing the command through to the Windows cmd shell, and not handling the output stream correctly. Writing directly to a file avoids the issue entirely.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you write a Node script the prints output to the screen, and try to pipe the output to a file, you can get an error: $ node extract.js > ideas.csv output is not a tty In my case, I was trying to write out a CSV file: for (var k = 0; k < &hellip; \n\n<p class=\"link-more\"><a href=\"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Fixing error: &#8220;output is not a tty&#8221; in Node&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[9],"tags":[198,302,387],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"If you write a Node script the prints output to the screen, and try to pipe the output to a file, you can get an error: $ node extract.js &gt; ideas.csv output is not a tty In my case, I was trying to write out a CSV file: for (var k = 0; k\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"gary\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Gary Sieling - Software Engineer\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Fixing error: \u201coutput is not a tty\u201d in Node - Gary Sieling\" \/>\n\t\t<meta property=\"og:description\" content=\"If you write a Node script the prints output to the screen, and try to pipe the output to a file, you can get an error: $ node extract.js &gt; ideas.csv output is not a tty In my case, I was trying to write out a CSV file: for (var k = 0; k\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2016-02-07T20:09:02+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2016-02-07T20:09:02+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Fixing error: \u201coutput is not a tty\u201d in Node - Gary Sieling\" \/>\n\t\t<meta name=\"twitter:description\" content=\"If you write a Node script the prints output to the screen, and try to pipe the output to a file, you can get an error: $ node extract.js &gt; ideas.csv output is not a tty In my case, I was trying to write out a CSV file: for (var k = 0; k\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-error-output-is-not-a-tty-in-node\\\/#blogposting\",\"name\":\"Fixing error: \\u201coutput is not a tty\\u201d in Node - Gary Sieling\",\"headline\":\"Fixing error: &#8220;output is not a tty&#8221; in Node\",\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"},\"datePublished\":\"2016-02-07T20:09:02+00:00\",\"dateModified\":\"2016-02-07T20:09:02+00:00\",\"inLanguage\":\"en-US\",\"commentCount\":4,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-error-output-is-not-a-tty-in-node\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-error-output-is-not-a-tty-in-node\\\/#webpage\"},\"articleSection\":\"Errors, errors, javascript, node\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-error-output-is-not-a-tty-in-node\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/errors\\\/#listItem\",\"name\":\"Errors\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/errors\\\/#listItem\",\"position\":2,\"name\":\"Errors\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/errors\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-error-output-is-not-a-tty-in-node\\\/#listItem\",\"name\":\"Fixing error: &#8220;output is not a tty&#8221; in Node\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-error-output-is-not-a-tty-in-node\\\/#listItem\",\"position\":3,\"name\":\"Fixing error: &#8220;output is not a tty&#8221; in Node\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/errors\\\/#listItem\",\"name\":\"Errors\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/\",\"name\":\"gary\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-error-output-is-not-a-tty-in-node\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"gary\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-error-output-is-not-a-tty-in-node\\\/#webpage\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-error-output-is-not-a-tty-in-node\\\/\",\"name\":\"Fixing error: \\u201coutput is not a tty\\u201d in Node - Gary Sieling\",\"description\":\"If you write a Node script the prints output to the screen, and try to pipe the output to a file, you can get an error: $ node extract.js > ideas.csv output is not a tty In my case, I was trying to write out a CSV file: for (var k = 0; k\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/fixing-error-output-is-not-a-tty-in-node\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"datePublished\":\"2016-02-07T20:09:02+00:00\",\"dateModified\":\"2016-02-07T20:09:02+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Fixing error: \u201coutput is not a tty\u201d in Node - Gary Sieling","description":"If you write a Node script the prints output to the screen, and try to pipe the output to a file, you can get an error: $ node extract.js > ideas.csv output is not a tty In my case, I was trying to write out a CSV file: for (var k = 0; k","canonical_url":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/#blogposting","name":"Fixing error: \u201coutput is not a tty\u201d in Node - Gary Sieling","headline":"Fixing error: &#8220;output is not a tty&#8221; in Node","author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"},"datePublished":"2016-02-07T20:09:02+00:00","dateModified":"2016-02-07T20:09:02+00:00","inLanguage":"en-US","commentCount":4,"mainEntityOfPage":{"@id":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/#webpage"},"isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/#webpage"},"articleSection":"Errors, errors, javascript, node"},{"@type":"BreadcrumbList","@id":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.garysieling.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/errors\/#listItem","name":"Errors"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/errors\/#listItem","position":2,"name":"Errors","item":"https:\/\/www.garysieling.com\/blog\/category\/errors\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/#listItem","name":"Fixing error: &#8220;output is not a tty&#8221; in Node"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/#listItem","position":3,"name":"Fixing error: &#8220;output is not a tty&#8221; in Node","previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/errors\/#listItem","name":"Errors"}}]},{"@type":"Organization","@id":"https:\/\/www.garysieling.com\/blog\/#organization","name":"Gary Sieling","description":"Software Engineer","url":"https:\/\/www.garysieling.com\/blog\/"},{"@type":"Person","@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author","url":"https:\/\/www.garysieling.com\/blog\/author\/gary\/","name":"gary","image":{"@type":"ImageObject","@id":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g","width":96,"height":96,"caption":"gary"}},{"@type":"WebPage","@id":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/#webpage","url":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/","name":"Fixing error: \u201coutput is not a tty\u201d in Node - Gary Sieling","description":"If you write a Node script the prints output to the screen, and try to pipe the output to a file, you can get an error: $ node extract.js > ideas.csv output is not a tty In my case, I was trying to write out a CSV file: for (var k = 0; k","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/#breadcrumblist"},"author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"creator":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"datePublished":"2016-02-07T20:09:02+00:00","dateModified":"2016-02-07T20:09:02+00:00"},{"@type":"WebSite","@id":"https:\/\/www.garysieling.com\/blog\/#website","url":"https:\/\/www.garysieling.com\/blog\/","name":"Gary Sieling","description":"Software Engineer","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Gary Sieling - Software Engineer","og:type":"article","og:title":"Fixing error: \u201coutput is not a tty\u201d in Node - Gary Sieling","og:description":"If you write a Node script the prints output to the screen, and try to pipe the output to a file, you can get an error: $ node extract.js &gt; ideas.csv output is not a tty In my case, I was trying to write out a CSV file: for (var k = 0; k","og:url":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/","article:published_time":"2016-02-07T20:09:02+00:00","article:modified_time":"2016-02-07T20:09:02+00:00","twitter:card":"summary_large_image","twitter:title":"Fixing error: \u201coutput is not a tty\u201d in Node - Gary Sieling","twitter:description":"If you write a Node script the prints output to the screen, and try to pipe the output to a file, you can get an error: $ node extract.js &gt; ideas.csv output is not a tty In my case, I was trying to write out a CSV file: for (var k = 0; k"},"aioseo_meta_data":{"post_id":"3091","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2023-02-04 16:36:31","updated":"2026-07-06 01:26:32","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\/category\/errors\/\" title=\"Errors\">Errors<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tFixing error: \u201coutput is not a tty\u201d in Node\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.garysieling.com\/blog"},{"label":"Errors","link":"https:\/\/www.garysieling.com\/blog\/category\/errors\/"},{"label":"Fixing error: &#8220;output is not a tty&#8221; in Node","link":"https:\/\/www.garysieling.com\/blog\/fixing-error-output-is-not-a-tty-in-node\/"}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/3091"}],"collection":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/comments?post=3091"}],"version-history":[{"count":0,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/3091\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/media?parent=3091"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/categories?post=3091"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/tags?post=3091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}