Ritenuto in fatto e considerando in diritto:
1.
Dal 1° novembre 2011, Z._ SA ha assicurato X._ contro il rischio di ospedalizzazione in caso di malattia, promettendogli un'indennità giornaliera di fr. 250.--. L'assicurato era stato ammesso senza esame dello stato di salute; beneficiava dal 2007 di una rendita di invalidità AI completa.
Secondo l'art. 12 lett. a delle condizioni generali di assicurazione (CGA), l'assicuratore non erogava prestazioni durante i primi due anni assicurativi per ricoveri ospedalieri dovuti a postumi di malattie che si fossero verificate o fossero state sottoposte a trattamento medico negli ultimi due anni precedenti l'inizio dell'assicurazione. A norma dell'art. 12 lett. d CGA e dopo i primi due anni assicurativi, le prestazioni erano erogate anche per eventuali precedenti malattie.
Nel corso del 2013 l'assicurato è stato ospedalizzato per disturbi lombari, mentre nel 2014 per disturbi psichici. L'assicuratore gli ha riconosciuto le indennità giornaliere per entrambi i ricoveri.
2.
Dal 13 novembre al 22 dicembre 2014, ossia durante quaranta giorni, l'assicurato è stato nuovamente degente per una sindrome depressiva ricorrente, altri disturbi di personalità e forme miste. Questa volta l'assicuratore ha rifiutato ogni prestazione. Un recente esame dell'incarto AI evidenziava che l'assicurato era affetto da una serie di malattie psicosomatiche preesistenti alla conclusione del contratto assicurativo. Perciò sulla base dell'art. 9 della legge federale sul contratto d'assicurazione (LCA) l'assicuratore escludeva retroattivamente dal 1° novembre 2011 alcune prestazioni in nesso causale con questi problemi di salute.
3.
Con petizione 31 marzo 2016, X._ ha citato Z._ SA in giudizio dinanzi al Tribunale delle assicurazioni del Cantone Ticino. Chiedeva la condanna della convenuta ad assumere i costi della degenza avvenuta a fine 2014. Faceva presente di aver informato il suo consulente assicurativo, al momento della sottoscrizione della proposta contrattuale, di essere al beneficio di una rendita di invalidità del cento per cento e di avergli comunicato il nome del suo medico curante per ottenere maggiori chiarimenti. Spettava all'assicuratore approfondire allora il suo stato di salute; questi non poteva invece, nemmeno parzialmente, annullare il contratto dopo l'evento assicurato.
Z._ SA ha chiesto di respingere la petizione stante l'art. 9 LCA e quindi la nullità parziale del contratto per le patologie preesistenti alla sua conclusione.
Il tribunale si è pronunciato il 29 settembre 2016; ha respinto la petizione.
4.
X._ insorge dinanzi al Tribunale federale con un ricorso in materia civile; chiede che la controparte venga condannata ad assumere "la copertura" della sua degenza dal 13 novembre al 22 dicembre 2014.
Con decreto 12 gennaio 2017, il Tribunale federale ha accolto una domanda di assistenza giudiziaria allegata al ricorso; gli ha designato l'avv. Mauro Belgeri quale patrocinatore.
La convenuta propone la reiezione del ricorso.
5.
Si capisce di primo acchito, leggendo le conclusioni ricorsuali alla luce della sentenza impugnata e della motivazione del ricorso, che il ricorrente domanda che l'opponente sia condannata a pagare quaranta indennità giornaliere di fr. 250.--, ossia fr. 10'000.--. Il ricorso è quindi ammissibile seppure tale richiesta non sia esposta in modo esplicito (<ref-ruling> consid. 1.2 pag. 135).
La predetta conclusione non raggiunge il valore litigioso minimo di fr. 30'000.-- richiesto in linea di principio dall'<ref-law>. Giusta l'<ref-law> il ricorso è comunque ammissibile perché il diritto federale - <ref-law> - prevede un'istanza cantonale unica nelle controversie derivanti da assicurazioni complementari all'assicurazione sociale contro le malattie.
6.
L'art. 9 LCA prevede che il contratto di assicurazione è nullo se, al momento in cui è stato concluso, il rischio era già scomparso o il sinistro era già accaduto; giusta l'art. 97 cpv. 1 LCA, questa regola non può essere modificata mediante convenzione delle parti al contratto.
Secondo la giurisprudenza menzionata nella sentenza impugnata e applicata dai giudici cantonali, una malattia che è in base all'esperienza medica soggetta a probabili ricadute non è assicurabile quando l'assicurato ne ha sofferto già prima della conclusione del contratto, perché il sinistro si è allora verificato. Il riprodursi di sintomi di una malattia soggetta a ricadute non può essere giuridicamente assimilato ad una nuova malattia ma ad una continuazione di una patologia già presente, e alla realizzazione di un rischio già accaduto ai sensi dell'art. 9 LCA. Se una malattia si è già manifestata, non è possibile assicurarla, anche se non si mostra più al momento della conclusione del contratto, quando delle ricadute ulteriori appaiono come un'evoluzione normale (<ref-ruling>; <ref-ruling> consid. 3). A seguito del carattere imperativo dell'art. 9 LCA, non importa che le parti al contratto abbiano se del caso pattuito in modo esplicito o tacito una deroga all'esclusione di rischi già accaduti (<ref-ruling> pag. 25 i.f.).
I giudici cantonali non hanno potuto tener conto di una sentenza più recente del Tribunale federale, emanata l'8 settembre 2016 (4A_10/2016; <ref-ruling>) e relativa all'art. 20 cpv. 3 LCA. Questo prevede che se il premio esigibile non è pagato e che una diffida dell'assicuratore rimane senza effetto, l'obbligazione di quest'ultimo è sospesa a datare dalla scadenza del termine di diffida. Il contratto allora in causa prevedeva indennità giornaliere in caso di incapacità al lavoro successiva ad una malattia. Il Tribunale federale doveva valutare se il rischio assicurato si era verificato all'inizio di un periodo d'incapacità lavorativa, allorché la copertura assicurativa era sospesa per effetto dell'art. 20 cpv. 3 LCA, o se il rischio si era verificato già anteriormente e prima dell'inizio della sospensione, al momento in cui era apparsa la malattia che avrebbe più tardi cagionato l'incapacità lavorativa. La soluzione a tale questione determinava se la sospensione era o no opponibile all'assicurato. Dopo un dettagliato esame, il Tribunale federale ha ritenuto che il rischio si era verificato all'inizio del periodo d'incapacità lavorativa (<ref-ruling> consid. 3 pag. 674).
Il giudice deve valutare il momento in cui il rischio si è verificato nello stesso modo sia che applichi l'art. 9, sia che applichi l'art. 20 cpv. 3 LCA. Nella sentenza dell'8 settembre 2016 è anche stata presa in considerazione la suddetta giurisprudenza relativa all'art. 9 LCA; ne segue che quest'ultima è ormai superata. Il momento in cui la malattia si è manifestata non può essere maggiormente pertinente sotto il profilo dell'art. 9 LCA che sotto quello dell'art. 20 cpv. 3 LCA. Indennità giornaliere pattuite in caso d'ospedalizzazione presentano una stretta analogia con quelle pattuite in caso d'incapacità lavorativa successiva ad una malattia. Nella presente causa, il rischio assicurato dev'essere considerato come accaduto il primo giorno dell'ospedalizzazione successiva alla malattia; la data anteriore in cui quest'ultima era apparsa non è decisiva.
7.
Il ricorrente non mette in dubbio che i disturbi curati durante la sua degenza di fine 2014 fossero mere ricadute di una malattia soggetta a ricadute secondo l'esperienza medica, apparsa e diagnosticata molto prima della conclusione del contratto nel novembre 2011. Fa invece riferimento alle trattative che hanno immediatamente preceduto la conclusione del contratto. Giusta l'<ref-law> la sua argomentazione è inammissibile nella misura in cui si fonda su fatti che non sono accertati nella sentenza impugnata. Per il resto fa riferimento in modo abbastanza chiaro al principio dell'affidamento che disciplina l'interpretazione delle dichiarazioni ed espressioni di volontà tra contraenti (cf. <ref-ruling> consid. 4.2.1 pag. 666; <ref-ruling> consid. 3.2 pag. 412) : il ricorrente sostiene di aver capito in buona fede che l'opponente, rinunciando ad approfondire il suo stato di salute, avrebbe coperto anche i casi di malattie preesistenti.
Nel 2014 i primi due anni assicurativi erano terminati e a norma dell'art. 12 lett. d CGA, vale a dire a norma del contratto concluso tra le parti, la copertura delle malattie preesistenti era dovuta. Rimane che, come i giudici cantonali l'hanno sottolineato, le disposizioni delle parti che sono contrarie all'art. 9 LCA non hanno alcun valore. È quindi necessario chiarire se la malattia così riconosciuta dal ricorrente ha cagionato un'ospedalizzazione già prima della conclusione del contratto. In tale ipotesi il rischio si era verificato e non poteva più essere validamente assicurato. A questo scopo il Tribunale federale deve accogliere parzialmente il ricorso, annullare la sentenza impugnata e rinviare la causa al Tribunale cantonale delle assicurazioni affinché completi gli accertamenti di fatto e pronunci una nuova sentenza.
8.
Le spese giudiziarie e le ripetibili della sede federale seguono la soccombenza (art. 66 cpv. 1 e 5 nonché 68 cpv. 1, 2 e 4 LTF). Le ripetibili vengono attribuite al patrocinatore del ricorrente a titolo d'indennità adeguata ai sensi dell'<ref-law>.

Per questi motivi, il Tribunale federale pronuncia:
1.
Nella misura in cui è ammissibile, il ricorso è parzialmente accolto, la sentenza impugnata è annullata e la causa è rinviata al Tribunale delle assicurazioni per nuovo giudizio.
2.
Le spese giudiziarie di fr. 2'000.-- sono poste a carico dell'opponente.
3.
L'opponente verserà all'avv. Mauro Belgeri un'indennità di fr. 2'500.--.
4.
Comunicazione alle parti e al Tribunale cantonale delle assicurazioni del Cantone Ticino.